Method and apparatus for network-driven edge configuration in 5G real-time communication session
By creating RTC provisioning sessions in 5G networks and determining service access information, the lack of use of edge servers in RTC sessions in 5G networks is solved, and effective management of edge processing and efficient media streaming is achieved.
Patent Information
- Application Number
- CN202480001383.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-04-10
- Filing Date
- 2024-04-11
- Publication Date
- 2024-12-13
AI Technical Summary
The lack of specific methods and workflows in existing 5G networks to use communication methods dedicated to 5G real-time communication sessions, resulting in a lack of clarity in the concept of using edge servers in RTC sessions.
By creating an RTC provisioning session between the edge-enabled real-time communication application features and application providers, providing RTC features associated with the session, and determining service access information after the WebRTC session begins in response to eligible requests for edge processing resources, implementing in 5G Start media streaming on the network.
It realizes effective management and setting up edge servers in 5G networks, supports efficient edge processing, and improves the media streaming capability and resource utilization efficiency of RTC sessions.
Smart Images

Figure HDA0004952363580000011 
Figure HDA0004952363580000021 
Figure HDA0004952363580000031
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Application No. 63 / 458,628, filed on April 11, 2023, and U.S. Application No. 18 / 631,730, filed on April 10, 2024, the disclosures of which are incorporated herein by reference in their entirety. Technical Field
[0002] The present disclosure generally relates to combined edge server management and setup in 5G networks, and specifically, 5G real-time communication (RTC) scenarios. Background Art
[0003] The present disclosure generally relates to combined edge server management and setup in 5G networks, and specifically, 3GPP TS 26.506 defines an architecture for 5G real-time communication sessions. Although the specification is still under development, the current draft defines a brief description of the possibility of using edge servers in RTC sessions. 3GPP TS 26.506 also defines a general concept of setting up edge servers through a network, however, this general concept lacks a communication method or workflow for which edge servers are dedicated to RTC sessions. Therefore, a communication method and workflow for which edge servers are dedicated to RTC sessions is needed. Summary of the invention
[0004] According to one or more embodiments, a method for network-driven management of 5G real-time media communication (5G RTC) for edge processing, the method being executed by at least one processor, may include: creating an RTC provisioning session between an edge-supported real-time communication (RTC) application function (AF) and an edge-supported RTC application provider (AP); providing one or more RTC features associated with the RTC provisioning session; after a WebRTC session is started on a 5G network, determining service access information associated with the WebRTC session; and in response to determining that the WebRTC session is eligible to request edge processing resources based on the service access information, starting media streaming on the 5G network.
[0005] According to an embodiment, a device for network-driven management of 5G real-time media communication (5G RTC) for edge processing may be provided. The device may include: at least one memory configured to store program code; and at least one processor configured to read the program code and operate according to the instructions of the program code. The program code may include: a first creation code configured to enable at least one processor to create an RTC provisioning session between an edge-supported real-time communication (RTC) application function (AF) and an edge-supported RTC application provider (AP); a first provision code configured to enable at least one processor to provide one or more RTC features associated with the RTC provisioning session; a first determination code configured to enable at least one processor to determine service access information associated with a WebRTC session after the WebRTC session is started on the 5G network; and a streaming code configured to enable at least one processor to start media streaming on the 5G network in response to determining that the WebRTC session is eligible to request edge processing resources based on the service access information.
[0006] According to an embodiment, a non-transitory computer-readable medium may be provided, in which instructions are stored. When the instructions are executed by a processor of a network-driven management device for 5G real-time media communication (5G RTC) for edge processing, the instructions cause the processor to perform the following operations: create an RTC provisioning session between an edge-supported real-time communication (RTC) application function (AF) and an edge-supported RTC application provider (AP); provide one or more RTC features associated with the RTC provisioning session; after a WebRTC session is started on a 5G network, determine service access information associated with the WebRTC session; and in response to determining that the WebRTC session is eligible to request edge processing resources based on the service access information, start media streaming on the 5G network.
[0007] According to one or more embodiments, a method for network-driven management of 5G real-time media communication (5G RTC) for edge processing, the method being executed by at least one processor, may include: creating an RTC provisioning session using an RTC application function (AF) through a real-time communication (RTC) application provider (AP); providing one or more RTC features associated with the RTC provisioning session through the RTC AP; receiving a notification that a WebRTC session has started on a 5G network; determining whether the WebRTC session is eligible to request edge resources; and starting media streaming on the 5G network.
[0008] According to an embodiment, a device for network-driven management of 5G real-time media communication (5G RTC) for edge processing may be provided. The device may include: at least one memory configured to store program code; and at least one processor configured to read the program code and operate according to the instructions of the program code. The program code may include: a first creation code configured to enable at least one processor to create an RTC provisioning session using an RTC application function (AF) through a real-time communication (RTC) application provider (AP); a first provision code configured to enable at least one processor to provide one or more RTC features associated with the RTC provisioning session through an RTC AP; a first reception code configured to enable at least one processor to receive a notification that a WebRTC session has started on a 5G network; a first determination code configured to enable at least one processor to determine whether the WebRTC session is eligible to request edge resources; and a streaming code configured to enable at least one processor to start media streaming on a 5G network.
[0009] According to an embodiment, a non-transitory computer-readable medium may be provided, in which instructions are stored. When the instructions are executed by a processor of a network-driven management device for 5G real-time media communication (5G RTC) for edge processing, the instructions cause the processor to perform the following operations: create an RTC provisioning session using an RTC application function (AF) through a real-time communication (RTC) application provider (AP); provide one or more RTC features associated with the RTC provisioning session through the RTC AP; receive a notification that a WebRTC session has started on a 5G network; determine whether the WebRTC session is eligible to request edge resources; and start media streaming on the 5G network. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Further features, properties and various advantages of the disclosed subject matter will become more apparent from the following detailed description and the accompanying drawings, in which:
[0011] Figure 1 is a schematic diagram of an environment in which the methods, apparatuses, and systems described herein may be implemented according to an embodiment.
[0012] Figure 2 According to the embodiment Figure 1 A block diagram of example components of one or more devices.
[0013] Figure 3 is a schematic diagram of a 5G real-time communication (RTC) architecture according to an embodiment.
[0014] Figure 4A and Figure 4Bis a schematic diagram of an exemplary operational flow of network-driven management of 5G RTC edge processing according to an embodiment.
[0015] Figure 5 is a flow chart of an example process for network-driven management of 5G RTC edge processing according to an embodiment. DETAILED DESCRIPTION
[0016] The following detailed description of exemplary embodiments refers to the accompanying drawings.The same reference numbers in different drawings may identify the same or similar elements.
[0017] The foregoing disclosure provides explanation and description, but is not intended to be exhaustive or to limit implementation to the disclosed precise form. According to the above disclosure, there may be modifications and variations, or modifications and variations may be obtained from the practice of implementation. In addition, one or more features or components of an embodiment may be incorporated into another embodiment (or one or more features of another embodiment), or combined with another embodiment (or one or more features of another embodiment). In addition, in the flowchart and description of the operation provided below, it should be understood that one or more operations may be omitted, one or more operations may be added, one or more operations may be performed simultaneously (at least partially simultaneously), and the order of one or more operations may be switched.
[0018] It will be apparent that the systems and / or methods described herein may be implemented in various forms of hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods is not a limitation on the implementation. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software code, and it should be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.
[0019] Even though particular combinations of features are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and / or disclosed in the specification. Although each dependent claim listed below may only be directly dependent on one claim, the disclosure of possible implementations includes the combination of each dependent claim with every other claim in the claim set.
[0020] The elements, actions or instructions used herein should not be interpreted as critical or essential, unless so clearly described. In addition, as used herein, the articles "a" and "an" are intended to include one or more items, and can be used interchangeably with "one or more". In the case of only one item, the term "one" or similar language is used. In addition, as used herein, the terms "having", "containing", "having", "including", "comprising" etc. are intended to be open terms. In addition, the meaning of the phrase "based on" is intended to be "based at least in part", unless otherwise clearly stated. In addition, statements such as "at least one of [A] and [B]" or "at least one of [A] or [B]" should be understood to include only A, only B, or both A and B.
[0021] Reference throughout this specification to "one embodiment," "an embodiment," or similar language means that a particular feature, structure, or characteristic described in connection with the indicated embodiment is included in at least one embodiment of the present solution. Thus, the phrases "in one embodiment," "in an embodiment," and similar language may, but do not necessarily, all refer to the same embodiment throughout this specification.
[0022] In addition, the described features, advantages and characteristics of the present disclosure may be combined in any suitable manner in one or more embodiments. Based on the description herein, those skilled in the relevant art will recognize that the present disclosure may be practiced in the absence of one or more specific features or advantages of a particular embodiment. In other examples, additional features and advantages may be recognized in certain embodiments, which may not be present in all embodiments of the present disclosure.
[0023] Figure 1 1 is a schematic diagram of an environment 100 in which the methods, devices, and systems described herein may be implemented, according to an embodiment. Figure 1 As shown, environment 100 may include user device 110, platform 120, and network 130. The devices of environment 100 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.
[0024] User device 110 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information associated with platform 120. For example, user device 110 may include a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a smart speaker, a server, etc.), a mobile phone (e.g., a smartphone, a wireless phone, etc.), a wearable device (e.g., a pair of smart glasses or a smart watch), or the like. In some implementations, user device 110 may receive information from platform 120 and / or send information to platform 120.
[0025] The platform 120 includes one or more devices as described elsewhere herein. In some implementations, the platform 120 may include a cloud server or a group of cloud servers. In some implementations, the platform 120 may be designed as a modular platform so that software components may be swapped in or out according to specific needs. Thus, the platform 120 may be easily and / or quickly reconfigured to have different uses.
[0026] In some implementations, as shown, the platform 120 can be hosted in a cloud computing environment 122. It should be noted that although the implementations described herein describe the platform 120 as being hosted in a cloud computing environment 122, in some implementations, the platform 120 may not be cloud-based (i.e., may be implemented outside of a cloud computing environment) or may be partially cloud-based.
[0027] Cloud computing environment 122 includes an environment that hosts platform 120. Cloud computing environment 122 can provide computing, software, data access, storage, and other services that do not require end-users (e.g., user devices 110) to be aware of the physical location and configuration of the systems and / or devices that host platform 120. As shown, cloud computing environment 122 can include a set of computing resources 124 (collectively referred to as "computing resources 124" and individually referred to as "computing resource 124").
[0028] The computing resources 124 include one or more personal computers, workstation computers, server devices, or other types of computing and / or communication devices. In some implementations, the computing resources 124 may host the platform 120. Cloud resources may include computing instances running in the computing resources 124, storage devices provided in the computing resources 124, data transmission devices provided by the computing resources 124, etc. In some implementations, the computing resources 124 may communicate with other computing resources 124 via wired connections, wireless connections, or a combination of wired and wireless connections.
[0029] like Figure 1 As further shown, the computing resources 124 include a set of cloud resources, such as one or more application programs (APP) 124-1, one or more virtual machines (VM) 124-2, virtualized storage (VS) 124-3, one or more hypervisors ("HYP") 124-4, and the like.
[0030] The applications 124-1 include one or more software applications that may be provided to or accessed by the user device 110 and / or the platform 120. The applications 124-1 may eliminate the need to install and run software applications on the user device 110. For example, the applications 124-1 may include software associated with the platform 120 and / or any other software that may be provided via the cloud computing environment 122. In some implementations, one application 124-1 may send information to / receive information from one or more other applications 124-1 via the virtual machine 124-2.
[0031] The virtual machine 124-2 includes a software implementation of a machine (e.g., a computer) that runs programs like a physical machine. Depending on the degree of correspondence and purpose of the virtual machine 124-2 to any real machine, the virtual machine 124-2 can be a system virtual machine or a process virtual machine. A system virtual machine can provide a complete system platform that supports the operation of a complete operating system (OS). A process virtual machine can run a single program and can support a single process. In some implementations, the virtual machine 124-2 can run on behalf of a user (e.g., a user device 110) and can manage the infrastructure of the cloud computing environment 122, such as data management, synchronization, or long-term data transfer.
[0032] Virtualized storage 124-3 includes one or more storage systems and / or one or more devices that use virtualization technology within the storage system or device of computing resource 124. In some implementations, in the context of a storage system, the types of virtualization may include block virtualization and file virtualization. Block virtualization may refer to abstracting (or separating) logical storage from physical storage so that the storage system can be accessed without considering physical storage or heterogeneous structures. Separation allows administrators of storage systems to flexibly manage storage for end users. File virtualization can eliminate the dependency between data accessed at the file level and the location of the physical storage file. This can optimize the performance of storage usage, server consolidation, and / or non-disruptive file migration.
[0033] Hypervisor 124-4 may provide hardware virtualization technology that enables multiple operating systems (e.g., "guest operating systems") to execute simultaneously on a host computer (e.g., computing resource 124). Hypervisor 124-4 may present a virtual operating platform to the guest operating systems and may manage the execution of the guest operating systems. Multiple instances of various operating systems may share virtualized hardware resources.
[0034] The network 130 includes one or more wired networks and / or wireless networks. For example, the network 130 may include a cellular network (e.g., a fifth generation (5G) network, a long term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., a public switched telephone network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber-based network, etc., and / or a combination of these networks or other types of networks.
[0035] Figure 1 The number and arrangement of devices and networks shown are provided as examples. Figure 1 The devices and / or networks shown may contain additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or differently arranged devices and / or networks. Figure 1 Two or more of the devices shown may be implemented in a single device, or Figure 1 The single device shown may be implemented as multiple distributed devices. Additionally or alternatively, one set of devices (eg, one or more devices) of environment 100 may perform one or more functions described as being performed by another set of devices of environment 100.
[0036] Figure 2 yes Figure 1 Device 200 may correspond to user device 110 and / or platform 120. Figure 2 As shown, device 200 may include a bus 210 , a processor 220 , a memory 230 , a storage component 240 , an input component 250 , an output component 260 , and a communication interface 270 .
[0037] The bus 210 includes components that allow communication between components of the device 200. The processor 220 is implemented in hardware, firmware, or a combination of hardware and software. The processor 220 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or another type of processing component. In some implementations, the processor 220 includes one or more processors that can be programmed to perform functions. The memory 230 includes a random access memory (RAM), a read-only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and / or optical memory) that stores information and / or instructions for use by the processor 220.
[0038] Storage component 240 stores information and / or software related to the operation and use of device 200. For example, storage component 240 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and / or a solid-state disk), a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a cartridge, a magnetic tape, and / or another type of non-transitory computer-readable medium, and a corresponding drive.
[0039] Input components 250 include components that allow device 200 to receive information, such as through user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, buttons, switches, and / or a microphone). Additionally or alternatively, input components 250 may include sensors for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and / or an actuator). Output components 260 include components that provide output information from device 200 (e.g., a display, a speaker, and / or one or more light emitting diodes (LEDs)).
[0040] The communication interface 270 includes components similar to a transceiver (e.g., a transceiver and / or a separate receiver and transmitter) that enable the device 200 to communicate with other devices, for example, via a wired connection, a wireless connection, or a combination of a wired connection and a wireless connection. The communication interface 270 may allow the device 200 to receive information from another device and / or provide information to another device. For example, the communication interface 270 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, etc.
[0041] Device 200 may perform one or more processes described herein. Device 200 may perform these processes in response to processor 220 executing software instructions stored by a non-transitory computer-readable medium such as memory 230 and / or storage component 240. Computer-readable media is defined herein as a non-transitory memory device. A memory device includes storage space within a single physical storage device or storage space spread across multiple physical storage devices.
[0042] The software instructions may be read into the memory 230 and / or storage component 240 from another computer-readable medium or from another device through the communication interface 270. When executed, the software instructions stored in the memory 230 and / or storage component 240 may cause the processor 220 to perform one or more processes described herein. Additionally or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Therefore, the implementations described herein are not limited to any specific combination of hardware circuitry and software.
[0043] Figure 2The number and arrangement of components shown are provided as examples. Figure 2 The device 200 may include additional components, fewer components, different components, or differently arranged components than those shown. Additionally or alternatively, one or more components of the device 200 (e.g., one or more components) may perform one or more functions described as being performed by another set of components of the device 200.
[0044] The 5G Media Streaming (5GMS) system may be a collection of application functions, application servers, and interfaces from the 5G Media Streaming architecture that support downlink media streaming services or uplink media streaming services or both. A 5GMS application provider may include a party that interacts with the functions of the 5GMS system and provides a 5GMS-aware application (5GMS Aware Application), which interacts with the functions of the 5GMS system. A 5GMS-aware application may refer to an application in a user equipment (UE) provided by a 5GMS application provider, which contains the service logic of the 5GMS application service and interacts with other 5GMS clients and network functions through interfaces and application programming interfaces (APIs) defined in the 5GMS architecture. A 5GMS client may refer to a UE function that is a 5GMS downlink (5GMSd) client or a 5GMS uplink (5GMSu) client or both.
[0045] 5GMSd client may refer to a UE function that includes at least a 5G media streaming player and a media session handler for downlink streaming and can be accessed through a well-defined interface / API. 5GMSu client may refer to the initiator of a 5GMSu service that can be accessed through a well-defined interface / API. 5GMSu media streamer may refer to a UE function that is capable of uplinking streaming media content to the application server (AS) function of the 5GMS application provider and interacting with the 5GMSu aware application for media capture and subsequent streaming and the media session handler for media session control.
[0046] Dynamic policy may refer to dynamic policy and charging control (PCC) rules for uplink or downlink application flows during a media session. An egest session may refer to an uplink media streaming session from a 5GMS AS toward a 5GMSu application provider. An ingest session may refer to a session that uploads media content to a 5GMSd AS. A policy template may refer to a set of (semi-static) policy or control function (PCF) / network open function (NEF) API parameters specific to a 5GMS application provider, and the resulting PCC rules. A policy template ID may identify a desired policy template, which is used by a 5GMSd application function (AF) to select an appropriate PCF / NEF API for the 5G system so that the PCF can compile the desired PCC rules. A Media Player Entry may refer to a document that defines media presentation or a pointer to that document (e.g., a media presentation description (MPD) for DASH, or a uniform resource locator (URL) for a video clip file). A Media Streamer Entry may refer to a pointer (e.g., in the form of a URL) that defines an entry point for an uplink media streaming session. A Presentation Entry may refer to a document (e.g., an HTML5 document) that defines an application presentation, or a pointer to such a document.
[0047] A Provisioning Session may refer to a data structure provided by a 5GMSd application provider at an interface (M1d) that configures 5GMSd features associated with a set of 5GMSd-aware applications. A 5GMSd media player may refer to a UE function that is capable of playing and rendering media presentations based on media playback entries and opening some basic controls (e.g., play, pause, search, stop) to 5GMSd-aware applications. Server access information may refer to a set of parameters and addresses (including 5GMSd AF addresses and 5GMSd AS addresses) required to activate reception of a streaming session. Service and content discovery may refer to functions and processes provided by a 5GMSd application provider to a 5GMS-aware application that enable end users to discover available streaming services and content offers and select specific services or content items to access. A service announcement may refer to a process conducted between a 5GMS-aware application and a 5GMS application provider that enables a 5GMS-aware application to obtain 5GMS service access information directly or in the form of a reference to the information.
[0048] A third-party player may refer to the portion of an application that uses the API to execute selected 5GMSd functions to play media content. A third-party uplink streamer may refer to the portion of an application that uses the API to execute selected 5GMSd functions to capture and stream media content.
[0049] Embodiments of the present disclosure are directed to processes and methods that can be used for network-driven edge processing and / or edge processing that supports split rendering to conduct RTC sessions. Specifically, embodiments of the present disclosure relate to using network-driven edge provisioning as part of RTC provisioning. The same or another embodiment relates to providing edge server information to a client. The same or another embodiment relates to establishing a split rendering session on an edge server. Accordingly, the same or another embodiment of the present disclosure relates to establishing an RTC session.
[0050] The same or another embodiment of the present disclosure may be directed to a method or process for edge provisioning over a network and / or a split rendering session established by a client in a 5G real-time communication session. In an embodiment, an edge server may be instantiated and configured by an application service provider (or application provider) as part of the provisioning. In an embodiment, edge server information may be provided to a WebRTC application so that if the WebRTC application is eligible, the WebRTC application may request a WebRTC session or a split rendering session on the assigned edge server. In an embodiment, if the split rendering server agrees, a session is established and a split rendering process is run on the edge server.
[0051] In an embodiment, edge provisioning through a network may include the following operations. Those skilled in the art will appreciate that the following steps may be performed in a different order than the examples provided herein.
[0052] In an embodiment, a new Edge Configuration Server (ECS) is instantiated to manage new or increased demand for edge processing. Then, a new 5GMS Application Function (AF) supporting the edge is instantiated to handle new or increased demand for media sessions processed at the edge. In an embodiment, an Edge Enablement Server (EES) is configurable for a specific or targeted Edge Data Network (EDN). In an embodiment, the EES is registered with an Edge Enablement Client (ECS), and the ECS has authority over or is associated with the target EDN.
[0053] In an embodiment, an RTC application provider (AP) or RTC AF may create a new provisioning session and may also create different configurations, such as Quality of Service (QoS) support, billing, collection of consumption information, provision of STUN / TURN servers, WebRTC signaling functionality, edge processing, etc.
[0054] In an embodiment, after a user launches a WebRTC application, the WebRTC application may call the WebRTC framework with appropriate real-time streaming access parameters, and the WebRTC application may notify the RTC media session handler (MSH) that a new WebRTC session is started on 5G. The RTC MSH may then obtain service access information from the RTC AF associated with or appropriate for the WebRTC session. Based on the service access information, the RTC MSH then determines whether the WebRTC session is eligible to request edge resources and / or request a separate rendering service.
[0055] When a WebRTC application and / or session is eligible for a split rendering session on an edge server, the WebRTC application requests to separate the client media functionality from the split rendering client (SRC). The SRC then asks the media session handler for the client's media capabilities. The SRC and the split rendering server (SRS) can then negotiate the acceptable capabilities of the device and agree on the separation options, and the SRC starts the split rendering process. In an embodiment, the SRS can confirm to the SRC that the split rendering on the edge is running and provide access to the split rendering. The SRC can also confirm to the WebRTC application that the split rendering on the edge is running. After the above operations, media streaming for the RTC session begins, and once the media streaming is completed, the media streaming for the RTC session ends.
[0056] In an embodiment, an RTC application server (AS) may also be provided. This provision may require RTC AF to check the edge processing resource template provided for the WebRTC application to determine the requirements of the WebRTC application. Based on these determined requirements, RTC AF may request to instantiate a new RTC AS EAS instance with the specified requirements and / or taking into account the parameters provided by the EEC in the query. Then, a first or new instance of an EAS providing RTC AS capabilities may be generated, with the requested location (placement) and resources. The newly instantiated RTC AS EAS instance may be configured, and the instance itself may be registered with the triggering EES. Then, the RTC features provided may be used to configure the RTC AS EAS, and the server-side application of the RTC AS EAS may be started.
[0057] In an embodiment, during media streaming using an RTC session, a WebRTC application may connect to a selected RTC AS EAS and may begin real-time streaming. Support information related to the WebRTC session may be passed from the WebRTC framework to the RTC MSH, and the RTC MSH may exchange support information related to the WebRTC session with the RTC AF. Once the WebRTC application notifies the WebRTC framework that the RTC session has ended, the WebRTC framework may notify the RTC MSH of the end of the RTC session, and the RTC MSH may perform any final reporting to the RTC AF.
[0058] Figure 3 An exemplary 5G RTC architecture 300 is shown. The RTC architecture 300 may provide core functions and entities to support WebRTC-based services on a 5G system.
[0059] The architecture 300 may include a 5G RTC application provider 305 , a trusted 5G RTC AF 310 , a trusted 5G RTC application server (AS) 315 , and a UE 350 .
[0060] The application provider 305 provides RTC-aware applications on the UE to use RTC endpoints and network functions using interfaces and APIs. The trusted 5G RTC AF 310 can be dedicated to real-time media communications. The functions of the trusted 5G RTC AF 310 can overlap with another trusted 5G RTC AF. The trusted 5G RTC AS 315 can be an application server dedicated to real-time media communications.
[0061] UE 350 may include a native WebRTC application 330 , a network (Web) application 335 , a media session handler 320 , and a WebRTC framework 325 .
[0062] The 5G RTC application provider 305 may communicate with the trusted 5G-RTC AF 310 via the RTC-1 interface. The RTC-1 interface enables the 5G RTC application provider 305 to provide support for RTC sessions provided via the RTC-1 interface. The provision may include: QoS support for WebRTC sessions; billing provisions for WebRTC sessions; collection of consumption and QoE metrics data related to WebRTC sessions; provision of ICE functionality, such as STUN and TURN servers; provision of WebRTC signaling functionality, which may be interoperable with other signaling servers.
[0063] The trusted 5G RTC AS 315 may exchange information related to the RTC session with the trusted 5G RTC AF 310 via the RTC-3 interface. The information may cover QoS flow information and QoS allocation as well as QoE and consumption reports. The trusted 5G RTC AF 310 may subscribe to information related to the status of the QoS flow, which may be shared with the trusted 5G RTC AS 315, for example, in the form of a bit rate recommendation.
[0064] The trusted 5G RTC AS 315 can communicate with the WebRTC framework 325 via the RTC-4 interface. This interface can be used to exchange WebRTC traffic with another endpoint and exchange signaling information related to the WebRTC session with a trusted application server. The traffic may include media streams sent via RTP, application data sent via a data channel, WebRTC signaling data with STUN and TURN servers, and any other suitable application data.
[0065] The RTC-4 interface can be further grouped into two sub-interfaces, RTC-4s and RTC-4m, as described below. The RTC-4s interface is the interface between the WebRTC framework and the RTC AS (e.g., WebRTC signaling function). This interface is used to exchange signaling information related to a WebRTC session between two or more WebRTC endpoints using a trusted application server. In some cases where signaling is not handled by the WebRTC framework, the RTC-4s interface is the interface between the native WebRTC application and the WebRTC signaling server.
[0066] The RTC-4m interface is used to transmit media and other related data between two or more RTC endpoints. The traffic includes media data transmitted through RTP, application data transmitted using data channels, and media-related metadata transmitted using data channels.
[0067] The trusted 5G RTC AF 310 can communicate with the media session handler 320 via the RTC-5 interface. The RTC-5 interface is an interface between the media session handler 320 and the trusted 5G RTC AF 310. This interface can be used to transfer configuration information from the trusted 5G RTC AF to the media session handler 320 and request support for a started / ongoing WebRTC session. The configuration information may include static information such as the following: recommendations for media configuration, configuration of STUN and TURN server locations, configuration related to consumption and QoE reporting, discovery information of WebRTC signaling and data channel servers and their capabilities. The supporting functions include the following: receiving configuration information, the media session handler 320 notifying the trusted 5G RTC AF 310 of the WebRTC session and its status, the media session handler 320 requesting a QoS allocation to start or modify a session, the media session handler 320 receiving notifications related to changes in QoS allocations for an ongoing WebRTC session, the media session handler 320 utilizing RTC STUN / TURN / signaling functions to receive update information related to the WebRTC session, for example, to identify the WebRTC session and associate the WebRTC session with a QoS template.
[0068] The native WebRTC application 330 communicates with the media session handler 320 via the RTC-6 interface. The media session handler 320 is a function in the UE 350 that provides access to RTC support functions to the native WebRTC application. These functions can be provided upon request, for example, through the RTC-6 interface or transparently without directly involving the application. The media session handler 320 can indirectly assist in ICE negotiation by providing a list of STUN and TURN server candidates that give RTC functions. The media session handler 320 also collects QoE indicator reports and submits consumption reports. The media session handler 320 can also provide media configuration suggestions to the application through the RTC-6 interface.
[0069] The media session handler 320 may communicate with the WebRTC framework 325 via an RTC-7 interface. The RTC-7 interface may be an interface between the WebRTC framework and a native WebRTC application to directly transfer media specific information.
[0070] The 5G RTC application provider 305 communicates with the UE 350 via the RTC-8 interface. This interface can be used to exchange configuration information related to the RTC session or application.
[0071] Embodiments of the present disclosure combine edge server management and split rendering negotiation developed in TS26.501 to apply split rendering on edge servers.
[0072] Figure 4A and Figure 4B Example call flows 400 and 450 are shown for network-driven management of 5G RTC edge processing, respectively, according to one or more embodiments. Call flow 450 is a continuation of call flow 400. Figure 3 The architecture in the embodiment implements the call flow 400 and 450. For example, Figure 4A and Figure 4B The UE in the example may be UE 350, and the AS may be a trusted 5G RTCAS 315, a trusted 5G RTC AF 310, and a 5G RTC application provider 305.
[0073] As shown in call flow 400, in operation 1, a new ECS instance is instantiated to manage new or increased demand for edge processing. At operation 2, a new RTC AF supporting the edge is instantiated to handle new or increased demand for edge processed WebRTC sessions. At operation 3, the EES is configured for a specific edge data network (EDN), and at operation 4, the EES is registered with the ECS, which has authority over the target EDN.
[0074] In an embodiment, at operation 5, the RTC AP creates a new provisioning session. In an embodiment, the RTC AF creates a new provisioning session. In operation 6, the RTC AP and / or the RTC AF may create different configurations, such as QoS support, billing, collection of consumption, provision of STUN / TURN servers, WebRTC signaling functions, edge processing, etc.
[0075] In an embodiment, operation 7 may include: RTC AF checks the edge processing resource template provided for the relevant application to determine the requirements of the application. At operation 8, RTC AF may request, for example, a management service (MnS) to instantiate a new RTC AS EAS instance with the determined requirements and / or taking into account the parameters provided by the EEC in the query. Then, at operation 9, MnS may create a new instance of EAS that provides RTC AS capabilities, with the requested location and resources. At operation 10, the newly instantiated RTC AS EAS instance may be configured, and at operation 11, the instance itself may be registered with the triggering EES. Operation 12 may include: configuring and starting the server-side application in the RTC AS.
[0076] As shown in call flow 450, at operation 13, the WebRTC application may call the WebRTC framework with appropriate real-time streaming access parameters, and at operation 14, the WebRTC application may notify the RTC MSH that a new WebRTC session is started on 5G. At operation 15, the RTC MSH may obtain service access information from the RTC AF suitable for the WebRTC session. At operation 16, using information from the service access information, the RTC MSH and / or the RTC AF may determine whether the WebRTC session is eligible to request edge resources.
[0077] In an embodiment where separate rendering is performed, operations 17 to 22 may be performed. In an exemplary embodiment, operation 17 may include: the WebRTC application requests to separate the client media function from the separate rendering client (SRC). At operation 18, the SRC may ask the media session handler for the media capabilities of the client. Then, at operation 19, the SRC and the separate rendering server (SRS) may negotiate the acceptable capabilities of the device and agree on the separation options, and at operation 20, the SRC starts the separate rendering process. In an embodiment, at operation 21, the SRS may confirm to the SRC that the separate rendering on the edge is running and provide access to the separate rendering. At operation 22, the SRC may also confirm to the WebRTC application that the separate rendering on the edge is running. After the above operations, the media streaming of the RTC session begins, and once the media streaming is completed, the media streaming of the RTC session ends.
[0078] Operations 23 and 24 may include media streaming and stopping media streaming, respectively. Exemplary operations involved in media streaming and stopping are mentioned in more detail above.
[0079] Figure 5 A flow chart of a process 500 for network-driven management of 5G real-time media communications (5G RTC) for edge processing is shown.
[0080] At operation 510, a real-time communication (RTC) provisioning session may be created by an edge-enabled RTC application provider (AP) using an edge-enabled RTC application function (AF).
[0081] At operation 515, one or more RTC features associated with the RTC provisioning session may be provided. In an embodiment, the one or more RTC features include one or more of quality of service parameters, user device billing parameters, user device consumption information, information associated with one or more WebRTC session signaling servers, and edge processing parameters.
[0082] At operation 520, it may be determined whether the WebRTC session is eligible to request edge resources. In some embodiments, the determination may include a notification that the WebRTC session is started on the 5G network.
[0083] At operation 525, media streaming may begin. In an embodiment, a media session handler associated with a WebRTC application determines that the WebRTC session is eligible to request edge resources.
[0084] According to an embodiment, process 500 may also include: instantiating an edge-enabled real-time communication (RTC) application function (AF) in response to a demand for one or more WebRTC sessions for edge processing; configuring the edge-enabled RTC AF for a target edge data network (EDN); and registering the edge-enabled RTC AF with an edge configuration server (ECS) associated with the target EDN.
[0085] Process 500 may also include: determining requirements of an associated WebRTC application using one or more temporary edge processing resource templates; in response to determining the requirements of the associated WebRTC application, instantiating an edge-supported RTC application server (AS) having capabilities at least equal to the requirements; and generating an edge-supported RTC AS having capabilities at least equal to the requirements.
Claims
1. A method for network-driven management of 5G real-time media communications (5G RTC) for edge processing, the method being performed by at least one processor, the method comprising: Creating a real-time communication (RTC) provisioning session using an RTC application function (AF) through a real-time communication (RTC) application provider (AP); providing, by the RTC AP, one or more RTC features associated with the RTC provisioning session; Receive notifications when a WebRTC session starts on a 5G network; determining whether the WebRTC session is eligible to request edge resources; and Start media streaming on said 5G network.
2. The method according to claim 1, wherein: Before creating the RTC provisioning session, the method includes: Instantiate the RTC AF to manage demand for one or more WebRTC sessions for edge processing; configuring the RTC AF for a target edge data network (EDN); and The RTC AF is registered with an edge configuration server (ECS) associated with the target EDN.
3. The method according to claim 1, wherein: The one or more RTC characteristics include one or more of: quality of service parameters, user device billing parameters, user device consumption information, information associated with one or more WebRTC session signaling servers, and edge processing parameters.
4. The method according to claim 1, wherein: Starting the media streaming on the 5G network: Connecting a WebRTC application associated with the WebRTC session to an RTC application server (AS); Passing support information related to the WebRTC session from the WebRTC framework to the RTC media session handler; as well as The support information is reported to the RTC AF through the RTC media session handler.
5. The method according to claim 4, wherein: The method further comprises: Reporting, by the WebRTC application, the end of the WebRTC session to the WebRTC framework; Reporting the end of the WebRTC session to the RTC media session handler through the WebRTC framework; and Final reporting to the RTC AF is performed by the RTC media session handler.
6. The method according to claim 1, wherein: Receiving the notification that the WebRTC session has started includes: Invoking a WebRTC framework using a WebRTC application associated with the WebRTC session and using one or more of the one or more RTC features; Notifying the RTC media session handler of the start of the WebRTC session; Obtaining service access information related to the WebRTC session from the RTC AF through the RTC media session handler; and The start of the WebRTC session is reported to the RTC media session handler.
7. The method according to claim 1, wherein: The method further comprises: determining, by the RTC AF, requirements of a WebRTC application associated with the WebRTC session using one or more temporary edge processing resource templates; Instantiating an RTC application server (AS) having capabilities at least equal to the requirements; and The RTC AS is generated with capabilities at least equal to the requirement.
8. The method according to claim 7, wherein: The RTC AF determines the requirements of the WebRTC application and the generation of the RTC AS.
9. The method according to claim 7, wherein: The method further comprises: Configuring the RTC AS; registering the RTC AS with the RTC AF; and Start the server-side application in the RTC AS.
10. An apparatus for network-driven management of 5G real-time media communications (5G RTC) for edge processing, the apparatus comprising: at least one memory configured to store program code; as well as At least one processor is configured to read the program code and operate according to instructions of the program code, wherein the program code includes: a first creation code configured to cause the at least one processor to create a real-time communication (RTC) provisioning session using an RTC application function (AF) through a Real-Time Communication (RTC) application provider (AP); first providing code configured to cause the at least one processor to provide one or more RTC features associated with the RTC provisioning session through the RTC AP; first receiving code configured to cause the at least one processor to receive a notification that a WebRTC session has started on a 5G network; first determination code configured to cause the at least one processor to determine whether the WebRTC session is eligible to request an edge resource; and The streaming code is configured to cause the at least one processor to start media streaming on the 5G network.
11. The device according to claim 10, wherein: Before the first creation code, the program code also includes: first instantiation code configured to cause the at least one processor to instantiate the RTC AF to manage demand for one or more WebRTC sessions processed at the edge; a first configuration code configured to cause the at least one processor to configure the RTC AF for a target edge data network (EDN); and A first registration code is configured to cause the at least one processor to register the RTC AF with an edge configuration server (ECS) associated with the target EDN.
12. The device according to claim 10, wherein: The one or more RTC characteristics include one or more of: quality of service parameters, user device billing parameters, user device consumption information, information associated with one or more WebRTC session signaling servers, and edge processing parameters.
13. The device according to claim 10, wherein: The streaming code includes: a first connection code configured to cause the at least one processor to connect a WebRTC application associated with the WebRTC session with an RTC application server (AS); A first delivery code configured to cause the at least one processor to deliver support information related to the WebRTC session from the WebRTC framework to the RTC media session handler; and The first reporting code is configured to enable the at least one processor to report the support information to the RTC AF through the RTC media session handler.
14. The device according to claim 13, wherein: The streaming code also includes: second reporting code configured to cause the at least one processor to report, via the WebRTC application, to the WebRTC framework, the end of the WebRTC session; A third reporting code is configured to cause the at least one processor to report the end of the WebRTC session to the RTC media session handler through the WebRTC framework; and The first execution code is configured to enable the at least one processor to execute a final report to the RTC AF through the RTC media session handler.
15. The device according to claim 10, wherein: The first receiving code includes: a first calling code configured to cause the at least one processor to call a WebRTC framework using a WebRTC application associated with the WebRTC session and using one or more of the one or more RTC features; a first notification code configured to cause the at least one processor to notify the RTC media session handler of the start of the WebRTC session; A first acquisition code is configured to enable the at least one processor to acquire service access information related to the WebRTC session from the RTC AF through the RTC media session handler; and The first indication code is configured to cause the at least one processor to report the start of the WebRTC session to the RTC media session handler.
16. The device according to claim 10, wherein: The program code also includes: second determining code configured to cause the at least one processor to determine, by the RTC AF, requirements of a WebRTC application associated with the WebRTC session using one or more temporary edge processing resource templates; a second instantiation code configured to cause the at least one processor to instantiate an RTC application server (AS) having at least a capability equal to the requirement; and A first generating code is configured to cause the at least one processor to generate the RTC AS having at least a capability equal to the requirement.
17. The device according to claim 16, wherein: The RTC AF determines the requirements of the WebRTC application and the generation of the RTC AS.
18. The device according to claim 16, wherein: The program code also includes: a second configuration code configured to cause the at least one processor to configure the RTC AS; a second registration code configured to cause the at least one processor to register the RTC AS with the RTC AF; and The first startup code is configured to enable the at least one processor to start a server-side application in the RTC AS.
19. A non-transitory computer-readable medium having instructions stored thereon, which, when executed by a processor of an apparatus for network-driven management of 5G real-time media communications (5G RTC) for edge processing, cause the processor to perform the following operations: Creating a real-time communication (RTC) provisioning session using an RTC application function (AF) through a real-time communication (RTC) application provider (AP); providing, by the RTC AP, one or more RTC features associated with the RTC provisioning session; Receive notifications when a WebRTC session starts on a 5G network; determining whether the WebRTC session is eligible to request edge resources; and Start media streaming on said 5G network.
20. The non-transitory computer readable medium of claim 17, wherein: Receiving the notification that the WebRTC session has started includes: Invoking a WebRTC framework using a WebRTC application associated with the WebRTC session and using one or more of the one or more RTC features; Notifying the RTC media session handler of the start of the WebRTC session; Obtaining service access information related to the WebRTC session from the RTC AF through the RTC media session handler; and The start of the WebRTC session is reported to the RTC media session handler.
Citation Information
Patent Citations
Method and apparatus for network-driven edge configuration in 5g real-time communication sessions
US20240348671A1
