Combined edge server management and separate rendering negotiation and establishment in 5G
The proposed solution is a method for determining whether the edge provisioning is a method for determining whether the network.
Patent Information
- Application Number
- CN202480001423.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-04-09
- Filing Date
- 2024-04-11
- Publication Date
- 2024-12-13
AI Technical Summary
Existing 3GPP specifications lack a method for communicating which edge servers are dedicated to split rendering in 5G networks, and existing technologies fail to effectively communicate which servers are intended for split rendering in RTC sessions.
The proposed solution is a method for managing one or more media functions of an edge server and a client, which is a method for determining whether the edge provisioning is network-driven or client-driven, and provisioning a separate management session to enable separate rendering between the UE and the network.
The proposed solution is a method for managing one or more media functions of an edge server and a client, which is a method for determining whether the edge provisioning is a method for communicating which servers are the same as the network.
Smart Images

Figure BDA0004961344520000211 
Figure BDA0004961344520000231 
Figure HDA0004961344530000011
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to U.S. Provisional Application No. 63 / 458,622 filed on April 11, 2023, U.S. Provisional Application No. 63 / 458,623 filed on April 11, 2023, and U.S. Patent Application No. 18 / 630,546 filed on April 9, 2024, the disclosures of which are incorporated herein by reference in their entirety. Technical Field
[0003] The present disclosure generally relates to combined edge server management and split rendering negotiation and establishment in 5G networks. Background Art
[0004] The 3rd Generation Partnership Project (3GPP) defined a work item on split rendering of media delivery services, in which the client media functions are split between the device and the network edge. As a result of the split, the client runs lighter-weight, less demanding processes and can potentially receive more complex applications and services. In addition, the edge network decodes and partially renders the received media into a simpler form, allowing the client to run lighter-weight processes. 5G augmented reality devices require a lot of processing, including multiple parallel media decoding and media encoding, scene synthesis, and augmented reality rendering.
[0005] 3GPP TS26.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 (real-time communication) sessions. 3GPP TS26.506 also defines a general concept of establishing edge servers over the network, however it lacks a method of communicating which edge servers are dedicated to split rendering of RTC sessions. The present invention uses edge configuration IDs to communicate which servers are intended for split rendering in RTC sessions. Summary of the invention
[0006] According to one or more embodiments, a method for managing one or more media functions of an edge server and a client of a separated user equipment (UE) in a 5G network, executed at least by a processor, includes: determining whether edge provisioning of the edge server is network-driven or client-driven; determining whether separate rendering provisioning of the edge server and the UE is network-driven or client-driven; based on determining that (i) the edge provisioning is network-driven or (ii) both the edge provisioning and the separate rendering provisioning are client-driven, provisioning the edge server, and provisioning a separate management session to enable separate rendering between the UE and the edge server, wherein, after provisioning the separate management session, negotiating the separation of one or more media functions of the UE with the 5G network.
[0007] According to one or more embodiments, a device for managing one or more media functions of an edge server and a client of a separated user equipment (UE) in a 5G network, the device comprising: 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 includes a first determination code, a second determination code, a first supply code, and a second supply code. The first determination code is configured to enable at least one processor to determine whether the edge supply of the edge server is network-driven or client-driven. The second determination code is configured to enable at least one processor to determine whether the separated rendering supply of the edge server and the UE is network-driven or client-driven. Based on determining that (i) the edge supply is network-driven or (ii) both the edge supply and the separated rendering supply are client-driven, the first supply code is configured to enable at least one processor to supply the edge server. The second supply code is configured to enable at least one processor to supply a separated management session to enable separated rendering between the UE and the edge server, wherein after supplying the separated management session, the separation of one or more media functions of the UE is negotiated with the 5G network.
[0008] According to one or more embodiments, a non-transitory computer-readable medium storing instructions, when the instructions are executed by a processor of an apparatus for managing an edge server and separating one or more media functions of a client of a user equipment (UE) in a 5G network, causes the processor to perform a method, the method comprising: determining whether edge provisioning of the edge server is network-driven or client-driven; determining whether separate rendering provisioning of the edge server and the UE is network-driven or client-driven; based on determining that (i) the edge provisioning is network-driven or (ii) both the edge provisioning and the separate rendering provisioning are client-driven, provisioning the edge server, and provisioning a separate management session to enable separate rendering between the UE and the edge server, wherein, after provisioning the separate management session, negotiating the separation of one or more media functions of the UE with the 5G network. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Other 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:
[0010] 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.
[0011] Figure 2 According to the embodiment Figure 1 A block diagram of exemplary components of one or more devices of the present invention.
[0012] Figure 3 is a schematic diagram of the architecture of an augmented reality (AR) user equipment (UE) according to an embodiment.
[0013] Figure 4A and Figure 4B is a schematic diagram of the architecture of a 5G standalone edge-dependent AR (5G_STAR EDGAR) UE according to an embodiment.
[0014] Figure 5 is a schematic diagram of a split rendering architecture according to an embodiment.
[0015] Figure 6 is a schematic diagram of a 5G real-time communication (RTC) architecture according to an embodiment.
[0016] Figure 7 is a schematic diagram of an operational flow of combining edge server management and separating rendering management according to an embodiment.
[0017] Figure 8 is a flow diagram of an example process for performing edge server management and split rendering management according to an embodiment. DETAILED DESCRIPTION
[0018] The following detailed description of example embodiments refers to the accompanying drawings.The same reference numbers in different drawings may identify the same or similar elements.
[0019] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementation to the precise form disclosed. Modifications and variations are possible based on the above disclosure, or 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 combined with another embodiment (or one or more features of another embodiment). In addition, in the flowcharts and descriptions of the operations 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 in part), and the order of one or more operations may be switched.
[0020] 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 of the implementation. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code—it should be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.
[0021] Even if 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 directly depend on one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim set.
[0022] Unless explicitly described, any element, behavior or instruction used herein should not be interpreted as critical or essential. 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". If only one item is intended to be used, "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, unless otherwise explicitly stated, the meaning of the phrase "based on" is intended to be "based at least in part". In addition, expressions 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.
[0023] References in this specification to "one embodiment," "an embodiment," or similar language mean that a particular feature, structure, or characteristic described in conjunction with the illustrated embodiment is included in at least one embodiment of the present solution. Thus, throughout this specification, the phrases "in one embodiment," "in an embodiment," and similar language may, but do not necessarily, all refer to the same embodiment.
[0024] In addition, in one or more embodiments, the described features, advantages and characteristics of the present disclosure may be combined in any suitable manner. Based on the description herein, those skilled in the relevant art will recognize that the present disclosure may be implemented without one or more specific features or advantages of a particular embodiment. In other cases, additional features and advantages that may not be present in all embodiments of the present disclosure may be recognized in certain embodiments.
[0025] Figure 1 FIG. 1 is a schematic diagram of an environment 100 in which the methods, apparatuses, 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.
[0026] 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 smart phone, a wireless phone, etc.), a wearable device (e.g., a pair of smart glasses or a smart watch), or the like. In some embodiments, user device 110 can receive information from platform 120 and / or send information to platform 120.
[0027] 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 to be modular 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 for different uses.
[0028] As shown, in some implementations, the platform 120 can be hosted in a cloud computing environment 122. It is worth noting 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.
[0029] Cloud computing environment 122 includes an environment hosting 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 hosting platform 120. As shown, cloud computing environment 122 can include a set of computing resources 124 (collectively referred to as "computing resources (computing resources) 124", individually referred to as "computing resource) 124").
[0030] 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 can host the platform 120. Cloud resources may include computing instances executed 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 can communicate with other computing resources 124 via wired connections, wireless connections, or a combination of wired and wireless connections.
[0031] like Figure 1 As further shown, the computing resources 124 include a group of cloud resources, such as one or more applications (Application, APP) 124-1, one or more virtual machines (Virtual Machine, VM) 124-2, virtualized storage (virtualized storage, VS) 124-3, one or more hypervisors (Hypervisor, HYP) 124-4, etc.
[0032] The applications 124-1 include one or more software applications that can be provided to or accessed by the user device 110 and / or the platform 120. The applications 124-1 can eliminate the need to install and execute software applications on the user device 110. For example, the applications 124-1 can include software associated with the platform 120 and / or any other software that can be provided via the cloud computing environment 122. In some implementations, one application 124-1 can send information to / receive information from one or more other applications 124-1 via the virtual machine 124-2.
[0033] Virtual machine 124-2 includes a software implementation of a machine (e.g., a computer) that executes programs like a physical machine. Virtual machine 124-2 can be a system virtual machine or a process virtual machine, depending on the use and correspondence of virtual machine 124-2 to any real machine. System virtual machines can provide a complete system platform that supports the execution of a complete operating system (OS). Process virtual machines can execute a single program and can support a single process. In some implementations, virtual machine 124-2 can execute on behalf of a user (e.g., user device 110) and can manage the infrastructure of cloud computing environment 122, such as data management, synchronization, or long-term data transfer.
[0034] Virtualized memory 124-3 includes one or more storage systems and / or one or more devices using 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 the abstraction (or separation) of logical storage from physical storage, so that the storage system may be accessed without regard to physical storage or heterogeneous structures. This separation enables administrators of storage systems to have flexibility in how administrators manage storage for end users. File virtualization may eliminate the dependency between data accessed at the file level and the location where the file is physically stored. This may optimize the performance of storage usage, server consolidation, and / or non-disruptive file migration.
[0035] Hypervisor 124-4 may provide hardware virtualization technology that enables multiple operating systems (e.g., "guest operating systems") to execute in parallel on a host such as 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.
[0036] The network 130 includes one or more wired 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 or other types of networks.
[0037] As an example, it is provided Figure 1 The number and arrangement of devices and networks shown. Figure 1 There may be additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or differently arranged devices and / or networks than those shown. Figure 1Two 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.
[0038] Figure 2 yes Figure 1 The device 200 may correspond to the user device 110 and / or the 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 .
[0039] 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.
[0040] The storage component 240 stores information and / or software related to the operation and use of the device 200. For example, the 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), an optical disk (Compact Disc, CD), a digital versatile disk (Digital Versatile Disc, DVD), a floppy disk, a cassette, a magnetic tape, and / or another type of non-transitory computer-readable medium, and a corresponding drive.
[0041] Input components 250 include components that allow device 200 to receive information, such as via 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)).
[0042] The communication interface 270 includes transceiver-like components (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.
[0043] Device 200 may perform one or more of the 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 (e.g., memory 230 and / or storage component 240). Computer-readable media is defined herein as a non-transitory storage device. Storage devices include storage space within a single physical storage device or storage space distributed across multiple physical storage devices.
[0044] The software instructions may be read into the memory 230 and / or storage component 240 from another computer-readable medium or from another device via 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. Thus, the implementations described herein are not limited to any specific combination of hardware circuitry and software.
[0045] As an example, it is provided Figure 2 The number and arrangement of components shown. Figure 2The device 200 may include additional components, fewer components, different components, or differently arranged components than the components shown. Additionally or alternatively, a set of components (e.g., one or more components) of the device 200 may perform one or more functions described as being performed by another set of components of the device 200.
[0046] The 5G Media Streaming (5GMS) system may be a collection of application functions, application servers, and interfaces from a 5G Media Streaming architecture that supports 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 that 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 that contains the service logic of the 5GMS application service and interacts with other 5GMS clients and network functions via 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 UE function that is a 5GMS uplink (5GMSu) client, or a UE function that is both.
[0047] A 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. A 5GMSu client may refer to an initiator of a 5GMSu service that can be accessed through a well-defined interface / API. A 5GMSu media streamer may refer to a UE function that is capable of uplinking streaming media content to an application server (AS) function of a 5GMS application provider and that interacts with a 5GMSu aware application for media capture and subsequent streaming and a media session handler for media session control.
[0048] 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 to 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 exposure function (NEF) API parameters that are specific to a 5GMS application provider and the resulting PCC rules. A policy template ID may identify the desired policy template, which the 5GMSd application function (AF) uses to select the 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 or a pointer to a document that defines a media presentation (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 or a pointer to a document that defines an application presentation, such as an HTML5 document.
[0049] A Provisioning Session may refer to a data structure provided at an interface (M1d) by a 5GMSd application provider 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 such as play, pause, search, and stop to 5GMSd-aware applications. Service access information may refer to a set of parameters and addresses (including 5GMSd AF addresses and 5GMSd AS addresses) required to activate the reception of a streaming session. Service and content discovery may refer to functions and procedures provided by a 5GMSd application provider to a 5GMS-aware application that enables an end user to discover available streaming services and content offers and select specific services or content items for access. Service announcements may refer to procedures performed 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.
[0050] A third-party player may refer to the portion of an application that uses the API to perform 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 perform selected 5GMSd functions to capture and stream media content.
[0051] Figure 3 3 is a schematic diagram of the architecture of an augmented reality (AR) UE 300 according to one or more embodiments. The AR UE 300 may be a 5G UE that provides 5G connectivity through an embedded 5G modem and 5G system components. The AR UE 300 may include several components and user controllers for an AR experience, including but not limited to a sensor 320A, a camera 320B, a microphone 320C, an eye buffer display 320D, and a speaker 320E.
[0052] AR UE 300 may include an AR / MR application 302, which is configured to communicate with various device resources to provide an AR experience to the user. In one or more examples, the AR / MR application 302 communicates with the AR runtime (Runtime) 304 via an AR runtime (Runtime) API 312A, communicates with the media access function (Media Access Function, MAF) via a MAF-API 312B, and communicates with the AR scene manager 308 via an AR scene manager (Scene Manager) API 312C. These APIs enable the AR / MR application 302 to discover and query media capabilities in terms of support and available resources at runtime.
[0053] In one or more examples, when the AR / MR application 302 is running, downlink media is streamed from the 5G system 310 to the MAF 306 in compressed form, and then streamed from the MAF 306 in decoded form to the AR scene manager 308. The MAF 306 may also provide a scene description to the AR scene manager 308. In one or more examples, in parallel, the AR UE 300 is configured to establish an uplink data flow from the AR runtime 304 to the MAF 306, where the raw media and sensor data may be in uncompressed form, and then from the MAF 306 to the 5G system 310, where the MAF 306 may have compressed the data for the intended transmission over the network.
[0054] When the application and / or application service provider decides to run the client media function in a split rendering mode, the function is replaced by two new modules (an edge-dependent lightweight media service client and a media processing application running on the 5GMS AS). In one or more examples, the client media function can be an application or one or more tasks executed by a client device such as a UE. Figure 4A and Figure 4B An example of a media delivery architecture with a 5G EDGAR UE 400 and cloud / edge 402 for implementing separation is shown. However, 3GPP SR_MSE does not specify an architecture or process for performing separation rendering.
[0055] Figure 5 5 is a schematic diagram of a 5G end-to-end architecture 500 including a UE 503 and a data network (DN) 507. The architecture 500 may be a 5G MS architecture. The DN 507 includes an application provider 501 that may provide a service such as a streaming service. In one or more examples, the streaming service may be a real-time video streaming session using a social media platform. The application provider 501 may be implemented as a server.
[0056] DN 507 may include a Split-Rendering Server (SRS) 505, which is responsible for negotiating split-rendering sessions with split-rendering clients, monitoring edge resource usage of the server, and managing / running split-rendering processes. DN 507 may include an RTC AF 506 responsible for provisioning, QoS allocation, and edge resource discovery.
[0057] UE 503 may include application 502, which may be an application running on UE 503. UE 503 may include a media session handler 509 that communicates with RTC AF 506 to set up, control, and support delivery of media sessions. Media session handler 509 may expose an API that may be used by application 502.
[0058] The UE may include a Split-Rendering Client (SRC) 510, which is responsible for obtaining UE media capabilities and negotiating with the SRS 505 to agree on split rendering processing. The UE may include an XR runtime 530, which may communicate with the 5G-XR application server to obtain XR-related data.
[0059] The application provider 501 provides separate rendering through the SR-1 interface 521. The SR-1 interface 521 may be an extension of the M1 interface, which may be a provisioning API opened by the RTC AF 506 to provision the use of the media framework 500 and obtain feedback.
[0060] In the use case where the application provider 501 is involved in media delivery, the SR-2 interface 522 may be used for this purpose. The SR-2 interface 522 may be an extension of the M2 interface, which may be a Publish API opened by the SRS 505 .
[0061] RTC-AF 506 and SRS 505 may communicate via SR-3 interface 523. The SR-3 interface may be an extension of the M3 interface, which may be an internal API for exchanging information for content hosted within a trusted DN, such as DN 507.
[0062] The SRC 510 and the SRS 505 may perform signaling and media transmission via the SR-4 interface 524. The SR-4 interface 524 may be an extension of the M4 interface, which may be a media streaming API for streaming media content.
[0063] The RTC AF 506AF may provide the separated rendering information to the media session handler 506 defined by RTC-5 defined in TS26.506. The SRC 510 in the UE discovers the application through the SR-6 interface 527 and handles the XR runtime 530. The SR-6 interface 527 may be an extension of the M6 interface, which may be a UE 503 media session processing API opened by the media session handler 509 to the application 502.
[0064] The SRC 510 may discover the client media capabilities through the SR-7 interface 526. The SR-7 interface may be an extension of the M7 interface, which may be the UE media streamer API.
[0065] The application 502 and the application provider 501 may communicate via the SR-8 interface 528. The SR-8 interface 528 may be an extension of the M8 interface, which may be an application API for information exchange between the application 502 and the application provider 501, such as for providing the application 502 with service access information.
[0066] Figure 6 An exemplary 5G RTC architecture 600 is shown. The RTC architecture 600 may provide core functions and entities to support WebRTC-based services on a 5G system.
[0067] The architecture 600 may include a 5G RTC application provider 602 , a trusted 5G RTC AF 604 , a trusted 5G RTC application server (AS) 606 , and a UE 608 .
[0068] The application provider 602 provides RTC-aware applications on the UE to use RTC endpoints and network functions using interfaces and APIs. The trusted 5G RTC AF 604 can be dedicated to real-time media communications. The functions of the trusted 5G RTC AF 604 can overlap with the trusted 5G RTC AF 506. The trusted 5G RTC AS 606 can be an application server dedicated to real-time media communications.
[0069] UE 608 may include a native WebRTC application 610 , a Web application 611 , a media session handler 612 , and a WebRTC framework 613 .
[0070] The 5G RTC application provider 602 may communicate with the trusted 5G-RTC AF 604 via the RTC-1 interface 650. The RTC-1 interface 650 allows the 5G RTC application provider 602 to provide support for the RTC sessions provided by it. The provision may cover the following aspects: QoS support for WebRTC sessions, billing provisions for WebRTC sessions, collection of consumption and QoE metrics data related to WebRTC sessions, provision of ICE functions such as STUN and TURN services, provision of WebRTC signaling functions, and possible interoperability with other signaling servers.
[0071] The trusted 5G RTC AS 606 may exchange information about the RTC session with the trusted 5G RTC AF 604 via the RTC-3 interface 651. This information may cover QoS flow information and QoS allocation as well as QoE and consumption reports. The 5G trusted RTC AF 604 may subscribe to information about the status of the QoS flow, which the 5G trusted RTC AF 604 may share with the trusted 5G RTC AS 606, for example in the form of a bit rate recommendation.
[0072] The trusted 5G RTC AS 606 can communicate with the WebRTC framework 613 via the RTC-4 interface 652. This interface can be used to exchange WebRTC traffic with another endpoint and to exchange signaling information related to the WebRTC session with a trusted application server. The traffic can include media streams sent over RTP, application data sent over data channels, WebRTC signaling data with STUN and TURN servers, and any other suitable application data.
[0073] The RTC-4 interface 652 can be further grouped into two sub-interfaces RTC-4s and RTC-4m, as described below. The RTC-4s interface is an interface between the WebRTC framework and the RTC AS such as WebRTC signaling functions. 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 an interface between the native WebRTC application and the WebRTC signaling server.
[0074] 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.
[0075] The trusted 5G RTC AF 604 can communicate with the media session handler 612 via the RTC-5 interface. The RTC-5 interface is an interface between the media session handler 612 and the trusted 5G RTC AF 604. This interface can be used to transfer configuration information from the trusted 5G RTC AF to the media session handler 612 and request support for the started / ongoing WebRTC session. The configuration information may include static information such as: suggestions for media configuration, configuration of STUN and TURN server locations, configuration about consumption and QoE reporting, discovery information of WebRTC signaling and data channel servers and their capabilities. Support functions include the following: receiving configuration information, the media session handler 612 notifying the trusted 5G RTC RTC AF 604 of the WebRTC session and its status, the media session handler 612 requesting a QoS allocation for a started or modified session, the media session handler 612 receiving notifications related to changes in QoS allocations for an ongoing WebRTC session, and the media session handler 612 utilizing RTC STUN / TURN / signaling functions to receive updated information related to the WebRTC session, for example, to identify the WebRTC session and associate the WebRTC session with a QoS template.
[0076] The native WebRTC application 610 communicates with the media session handler 612 via the RTC-6 interface 654. The media session handler 612 is a function in the UE 608 that provides access to RTC support functions to the native WebRTC application. These functions can be provided upon request, for example, via the RTC-6 interface 654, or transparently provided without directly involving the application. The media session handler 612 can indirectly assist in ICE negotiation by providing a list of STUN and TURN server candidates that provide RTC functions. The media session handler 612 also collects QoE indicator reports and submits consumption reports. The media session handler can also provide media configuration suggestions to the application via the RTC-6 interface 654.
[0077] The media session handler 612 may communicate with the WebRTC framework 613 through an RTC-7 interface 655. The RTC-7 interface 655 may be an interface between the WebRTC framework and a native WebRTC application to directly transfer media specific information.
[0078] The 5G RTC application provider 602 communicates with the UE 608 via the RTC-8 interface 656. This interface can be used to exchange configuration information related to the RTC session or application.
[0079] Embodiments of the present disclosure combine edge server management and split rendering negotiation developed in TS26.501 to apply split rendering on edge servers.
[0080] Figure 7 An example call flow 700 for combining edge server management with separate rendering negotiation is shown in accordance with one or more embodiments. Figure 5 or Figure 6 The architecture in is used to implement the call flow 700. For example, Figure 7 The UE may be UE 503 or UE 608, the AS may be SRS 505 or trusted 5G RTC AS 606, the AF may be RTC AF 506 or trusted 5G RTC AF 604, and the application provider may be application provider 501 or 5G RTC application provider 602.
[0081] One or more edge servers are provisioned or established in operation 702. An application provider requests and establishes edge servers for split rendering as follows.
[0082] In one or more examples, provisioning can be client-driven. The edge computing provisioning phase is a provisioning phase that can be repeated several times (e.g., to expand edge processing coverage to new geographic areas or increase capacity in areas that have already been provisioned). All operations in this phase are optional and are performed as needed. Operations include, but are not limited to, the following.
[0083] 1. Generate ECS: In this step, a new ECS is instantiated to manage new or increased requirements for edge processing.
[0084] 2. Generate 5GMS AF: In this step, a new 5GMS AF supporting the edge is instantiated to handle new or increased requirements for media sessions processed at the edge.
[0085] 3. EES configuration: EES is configured for a specific edge data network.
[0086] 4. Register EES with ECS: EES registers with the ECS that has permission for the target EDN.
[0087] The 5GMS Application Provider provisioning phase is performed before the 5GMS Application Provider sets up any relevant media streaming sessions. Subsequent updates to the provisioning session are possible.
[0088] 5. Create provisioning session: In this step, the 5GMS application provider creates a new provisioning session.
[0089] 6. Provisioning 5GMS features: In this step, 5GMS application providers can create different configurations such as content hosting, reporting, edge processing, etc.
[0090] The 5GMS-aware application starts a new media streaming session.
[0091] 7. Application initialization: The user starts the 5GMS-aware application. The application performs any required initialization steps.
[0092] 8. Start Session: The 5GMS-aware application calls the media streamer with appropriate streaming access parameters.
[0093] 9. Session start event: The application notifies the media session handler about the start of a new 5GMS session.
[0094] 10. Obtain service access information: The media session handler obtains service access information from the 5GMS AF suitable for the 5GMS session.
[0095] 11. Determine eligibility to request edge resources: Using the information in the service access information, the media session handler determines whether the media streaming session is eligible to request edge resources.
[0096] If the eligibility criteria are met in the previous step, the UE discovers an EAS instance that provides 5GMS AS functionality in the client-based edge computing discovery phase.
[0097] 12. Locate candidate “5GMS AS” EAS instances: The Media Session Handler (possibly triggered by a request from a 5GMS-aware application) requests its embedded EEC to discover the location of one or more suitable EAS instances that provide “5GMS AS” capabilities that can serve the application.
[0098] 13. Locate the local EES: The EEC queries the ECS for a suitable EES.
[0099] 14. Register with EES: EEC registers with the selected EES.
[0100] 15. Request a list of “5GMS AS” EAS instances: The EEC contacts the EES and uses the EAS discovery filters obtained as part of the service access information and / or provided by the application client (e.g., EAS type is “5GMS AS”, appropriate values for service characteristics, and other EAS characteristics) to query one or more EAS instances that provide “5GMS AS” capabilities that can service the session.
[0101] If a suitable EAS instance providing "5GMS AS" capability cannot be located, an optional sub-flow is to provision an additional 5GMS AS instance. These operations are the following:
[0102] 16. Check resource template: 5GMS AF checks the edge processing resource template provided for the relevant application to determine the edge resource requirements of the application.
[0103] 17. Instantiate a new EAS / 5MGS AS: The 5GMS AF requests the MnS to instantiate a new “5GMS AS” EAS instance with the requirements specified in the provided edge processing resource template and the parameters provided by the EEC in the query.
[0104] 18. Generate 5GMS AS instance: MnS creates a new instance of EAS providing “5GMS AS” capability with the requested location and resources.
[0105] 19. EAS configuration: Configure the newly instantiated "5GMS AS" EAS instance, which can then be discovered through the DNS procedure or discovery procedure.
[0106] 20. Register EAS with EES: The newly instantiated EAS instance registers itself with the triggering EES.
[0107] 21. Configure the features to be provisioned: This may include configuring and starting the server-side applications in the 5GMS AS.
[0108] Complete the client-based edge computing discovery phase:
[0109] 22. List of suitable "5GMS AS" EAS instances: EES / 5GMS AF provides the EEC with a list of "5GMS AS" EAS instances and their characteristics in the EAS discovery response. Each EAS instance in the list meets the requirements defined in the provided edge processing resource template.
[0110] 23. Select the preferred "5GMS AS" EAS instance: The application client (AC) and / or EEC / media session handler selects the "5GMS AS" EAS instance from the provided list based on the AC's expected criteria.
[0111] If the media entry point provided in the service access information includes a host name, the EEC / media session handler inserts a record into the UE's local DNS resolver that resolves the host name to the IP address of the selected EAS instance.
[0112] After successful discovery of the “5GMS AS” EAS instance, the actual streaming session can begin.
[0113] 24. Media transmission: The 5GMS-aware application connects to the selected EAS “5GMS AS” and then starts streaming.
[0114] If the media entry point provided in the service access information includes a host name, the media stream handler first resolves the host name to the IP address of the selected EAS instance in operation 23 before connecting.
[0115] 25. Method call and notification: Support information about the 5GMS session is passed from the media stream handler to the media session handler.
[0116] 26. Reporting, network assistance and dynamic policies: The media session handler exchanges support information about 5GMS sessions with the 5GMS AF.
[0117] 27. End session: The 5GMS-aware application notifies the media session handler that the 5GMS session has ended.
[0118] 28. Session end event: The media streamer notifies the media session handler 5GMS that the session has ended.
[0119] 29. Final Report: The Media Session Handler performs any final report to the 5GMS AF.
[0120] Application providers may use any other method to allocate edge servers, or leave it to the Mobile Network Operator (MNO) to set up appropriate edge servers to run the split rendering process.
[0121] In one or more examples, provisioning can be network driven. The edge computing provisioning phase is a provisioning phase that can be repeated several times (e.g., to expand edge processing coverage to new geographic areas or increase capacity in areas that have already been provisioned). All operations in this phase are optional and performed as needed. Operations 1-4 can be repeated as described above.
[0122] The 5GMS Application Provider Provisioning phase is performed before the 5GMS Application Provider sets up any relevant media streaming sessions. Subsequent updates to the provisioning sessions are possible. Operations 5 and 6 may be repeated as described above.
[0123] The optional sub-process for provisioning additional 5GMS AS instances can be repeated as many times as needed to add new capacity, increase existing capacity for edge processing, or reallocate underutilized edge processing resources to other tasks. The edge processing capacity is customized for the specific 5GMS application provider based on the information in the provisioning session. Operations 7-12 can be repeated as described above, with the following exceptions:
[0124] - In operation 7, based on the eligibility criteria in the edge resource template, the 5GMS AF shall determine whether the media streaming session is eligible to use the edge resource.
[0125] After successful discovery, the actual streaming session may begin in the 5GMS session phase. Operations 13-15 may be repeated as described above, and operations 16-21 may be repeated as described above.
[0126] In this process, the application client (AC) and EEC are not used to discover the 5GMS AS location. Instead, the media player entry can be provided by the 5GMS AF in the service access information to the media session handler at M5 (in operation 15), or the location of the 5GMS AS can be provided directly to the 5GMS-aware application via the (out of scope) interface M8 in other ways.
[0127] Operation 702 may be client-initiated or network-initiated. Operation 702 may be performed using the M1 and M3 interfaces. In one or more examples, operation 702 may include determining whether edge provisioning of an edge server is network-driven or client-driven.
[0128] Edge server provisioning can be repeated several times (e.g., to expand edge processing coverage to new geographic regions or to increase capacity in already provisioned regions). All steps in this phase are optional and are performed as needed.
[0129] In operation 704, the application provider provisions a split rendering session using SR-1 and SR-3, as defined in the following operations.
[0130] The following operations can be performed for edge servers and split rendering session establishment.
[0131] 1. In this optional operation, the application provider requests and establishes an edge server for split rendering. The application provider can use any other method to allocate edge servers, or leave it to the MNO to establish appropriate edge servers to run the split rendering process.
[0132] 2. The application provider uses SR-1 and SR-3 to provision split rendering sessions. If edge servers were provisioned in operation 1, edge server IDs are provided in the session to use them for split rendering.
[0133] In the case of client-driven edge management, only client-driven split rendering is applicable.
[0134] 3. Establish a separate rendering session.
[0135] The client-driven process can be performed according to the following operations.
[0136] 1. The application service provider requests the SRF to provision a separate management session.
[0137] 2. The detached management session is notified to the application as part of the service access information.
[0138] 3. The application requests to separate the client media functions from the SRC.
[0139] 4. The SRC asks the media session handler for the client's media capabilities.
[0140] 5. The SRC and SRS negotiate the acceptable functionality of the equipment and agree on separation options.
[0141] 6. SRS starts separate rendering processing.
[0142] 7. The SRC provides session information via the RTC-6 interface and requests to apply dynamic policies and subscribe to network assistance.
[0143] 8. SRC establishes a WebRTC session.
[0144] 9. SRC notifies the application that separate rendering on the edge is running.
[0145] 10. SRC sends uplink metadata, such as attitude and motion information.
[0146] 11. SRS sends the rendered media to SRC.
[0147] If edge servers are provisioned in operation 702, edge server IDs are provided in the session to use them for split rendering. Operation 704 may be client-initiated or network-initiated. Operation 704 may be performed using SR-1 and SR-3 interfaces. In one or more examples, operation 704 may include determining whether split rendering provisioning for edge servers and UEs is network-driven or client-driven.
[0148] In operation 706, a separate rendering session is established. The separate rendering session establishment may be according to the following operations.
[0149] 1. The rendering engine discovers the separate rendering server and establishes a connection with it. The rendering engine provides information about its rendering capabilities and XR runtime configuration, such as the OpenXR configuration that can be used for this purpose.
[0150] 2. In response, the separate rendering server creates a description of the separate rendering output and the input it expects to receive from the UE.
[0151] 3. The rendering engine requests the buffer stream from MAF, which in turn establishes a connection with the split rendering server to stream the pose and obtain the split rendering buffer.
[0152] 4. The Source Manager obtains gestures and user input from the XR Runtime.
[0153] 5. The source manager shares pose prediction and user input actions with the separate rendering server.
[0154] 6. The separate rendering server uses this information to render the frame.
[0155] 7. The rendered frames are encoded and streamed down to the MAF.
[0156] In one or more examples, based on determining that (i) edge provisioning is network driven or (ii) both edge provisioning and split rendering provisioning are client driven, the following processes are performed: provisioning an edge server, and provisioning a split management session to enable split rendering between the UE and the edge server, wherein after provisioning the split management session, separation of one or more media functions of the UE is negotiated with the 5G network.
[0157] refer to Figure 5 The architecture in 700 allows the edge management of the client driver and the network driver to be combined with the separate rendering negotiation between the client driver and the network driver. Table 1 shows the use of Figure 5 Different combinations of architectures in .
[0158]
[0159] Table 1
[0160] Embodiments enable edge server provisioning and split rendering as a sequential provisioning set through M1 and SR-1 APIs.In one or more examples, the use of TS26.501 edge provisioning and management is optional and other approaches may be used in the process.
[0161] Embodiments of the present disclosure provide a way to flexibly use two edge server establishment methods (eg, client-driven or network-driven) in combination with two separate rendering session establishment methods (eg, client-driven or network-driven).
[0162] In one or more examples, RTC general provisioning is implemented through RTC-1, similar to 5GMS provisioning using CRUD operations.
[0163] In one or more examples, the edge provisioning process of 5GMS (TS26.501) can be used to provision edge servers through RTC- 1. The provisioning can be used for client-driven or network-driven edge provisioning.
[0164] In one or more examples, the split rendering provisioning process of TS26.565 can be used to provision edge servers through RTC- 1. This provisioning can be used for client-driven or network-driven edge provisioning.
[0165] In the case of network-driven edge provisioning, the RTC AF (e.g., trusted 5G RTC AF 604) can instantiate the required AS / EAS for running the split rendering session and obtain the edge server configuration ID for the provisioning.
[0166] In one or more examples, a WebRTC application can use the edge server configuration ID to learn about edge servers deployed by an application service provider 602 via an RTC-8 interface 656 or a media session handler 612 via an RTC-5 interface 653 (and possibly an RTC-6 interface 654).
[0167] In one or more examples, the WebRTC application can request a split rendering setup on an edge server identified by an edge server configuration ID and negotiate a split rendering session based on its own capabilities and the edge server capabilities.
[0168] In one or more examples, the edge server provisioning process is performed by RTC-1. In this process, an AF-driven or client-driven process can be used to request an edge server. In the case of AF-driven, the edge server is instantiated or identified by the RTCAF (e.g., the trusted 5G RTC AF 604). The application service provider (e.g., the 5G RTC application provider 602) can use the edge configuration ID received during the provisioning of the edge server to identify the edge server.
[0169] In the client-driven case, the client (eg, UE 608) requests an edge server through its EEC to the AF's EES and receives a list of qualified EASs.
[0170] Split rendering setup can be client-driven or network-driven.
[0171] In the case of client-driven split rendering establishment, the WebRTC application requests a split rendering session establishment. In the case of client-driven edge provisioning, the client (e.g., UE 608) is aware of the assigned EASs and can request to establish a split rendering session on one of the EASs. In the case of network-driven edge provisioning, the WebRTC application can use the edge server configuration ID to learn about the edge server deployed by the application service provider (e.g., 5G RTC application provider 602) of RTC-8 or by the media session handler of RTC-5 (and possibly RTC-6).
[0172] In the case of network-driven split rendering setup, the split rendering server (e.g., trusted 5G-RTC AS 606) requests split rendering. In the case of network-driven edge processing, the RTC AF (e.g., trusted 5G RTC AF 604) knows which edge server is assigned for the RTC session. The SRS runs on the edge server, and the SRS negotiates with the split rendering client for the split rendering session.
[0173] Table 2 shows example combinations for edge provisioning and separate rendering setup.
[0174]
[0175] Table 2
[0176] According to one or more embodiments, a method for provisioning and establishing cascaded edge servers and separate rendering is used to allocate edge servers and allow WebRTC applications to use separate rendering functions on mobile networks, wherein if both edge server provisioning and separate rendering provisioning are client-driven solutions, the client has edge server and separate rendering provisioning information, and thus the client can establish separate rendering on a dedicated edge server for this purpose; or the edge server and separate rendering are managed by the MNO, the MNO negotiates separate rendering with the device, and ultimately when the RTC AF instantiates the RTC AS, the AS information is passed to the client through the application server provider and the application, or through RTC-5, the client has the edge server information and requests a separate rendering session on that specific server.
[0177] According to one or more embodiments, a process combining edge server management and split rendering negotiation and establishment is provided, wherein an application service provider sequentially supplies edge server management and split rendering, wherein an edge server can be enabled by a network drive or a client drive, and thus for a network-driven edge server, a split rendering negotiation can be established in a network-driven or client-driven manner; wherein in the case of a client drive, information of the enabled edge server is provided to the client; wherein in the case of network-driven split management, the network is aware of the enabled edge server and runs a split rendering server on the enabled edge server.
[0178] According to one or more embodiments, a method for cascading edge server and split rendering provisioning and establishment is provided for allocating edge servers and allowing WebRTC applications to use split rendering functionality on mobile networks, wherein if both edge server provisioning and split rendering provisioning are client-driven solutions, the client has edge server and split rendering provisioning information, and thus the client can establish split rendering on a dedicated edge server for this purpose; or the edge server and split rendering are managed by an MNO, the MNO negotiates split rendering with the device, and ultimately when the RTC AF instantiates the RTC AS, the AS information is passed to the client through the application server provider and application, or through RTC-5, wherein the client has the edge server information and requests a split rendering session on that specific server.
Claims
1. A method for managing one or more media functions of an edge server and a client of a separate user equipment (UE) in a 5G network, performed at least by a processor, the method comprising: determining whether edge provisioning of the edge server is network driven or client driven; Determining whether the split rendering provisioning of the edge server and the UE is network driven or client driven; Based on determining that (i) the edge provisioning is network driven, or (ii) both the edge provisioning and the split rendering provisioning are client driven: provisioning the edge server; as well as A split management session is provisioned to enable split rendering between the UE and the edge server, wherein, after provisioning the split management session, the split of the one or more media functions of the UE is negotiated with the 5G network.
2. The method according to claim 1, further comprising: Based on determining that both the edge provisioning and the separate rendering provisioning are network driven, the 5G network includes a first server operating as a real-time media communication (RTC) application function (AF) and a second server operating as a separate rendering server, and both the edge server and the separate rendering server are provisioned via RTC AF provisioning.
3. The method according to claim 1, further comprising: Based on determining that both the edge provisioning and the separate rendering provisioning are client driven, the edge server is provisioned via WebRTC application provisioning and the separate management session is provisioned.
4. The method according to claim 1, further comprising: Based on determining that the edge provisioning is network driven and the separate rendering provisioning is client driven, providing information of the edge server via one of RTC-8 and RTC-5.
5. The method according to claim 1, further comprising: receiving a request from an application provider; The edge server is established, and the edge server is used for the split rendering between the edge server and the UE, wherein the establishment of the edge server is performed by the application provider or the mobile network operator to run the split rendering process.
6. The method according to claim 5, further comprising: A split rendering session is provisioned by the application provider using SR-1 and SR-3, wherein the split rendering session includes an identifier of the edge server previously provisioned.
7. The method according to claim 6, further comprising: Setting up the separate rendering session includes: Discovered separate rendering servers; establishing a connection with the separate rendering server; sending one or more separate rendering capabilities to the separate rendering server; and A description of a separate rendering output is received from the separate rendering server.
8. The method according to claim 1, wherein: Based on determining that the edge provisioning is network driven and the provisioning of the separate management session is client driven, providing information associated with the edge server over an SR5 or SR-8 interface.
9. The method according to claim 1, wherein: Based on determining that both the edge provisioning and the split rendering provisioning are client driven, the application service provider communicates with an application of the UE to provision the edge server and to provision the split management session.
10. The method according to claim 1, wherein: The 5G network includes a first server operating as a trusted 5G real-time media communication (RTC) application function (AF) and a second server operating as a trusted 5G RTC application server (AS).
11. An apparatus for managing one or more media functions of an edge server and a client of a separate user equipment (UE) in a 5G network, 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 determination code configured to cause the at least one processor to determine whether the edge provisioning of the edge server is network driven or client driven; a second determination code configured to cause the at least one processor to determine whether the separate rendering provisioning of the edge server and the UE is network driven or client driven; Based on determining that (i) the edge provisioning is network driven or (ii) both the edge provisioning and the split rendering provisioning are client driven: first provisioning code configured to cause the at least one processor to provision the edge server; and The second provisioning code is configured to cause the at least one processor to provision a separation management session to enable separate rendering between the UE and the edge server, wherein, after the separation management session is provisioned, the separation of the one or more media functions of the UE is negotiated with the 5G network.
12. The device according to claim 11, wherein: The program code also includes: The third supply code is configured to: based on determining that both the edge supply and the separate rendering supply are network driven, the 5G network includes a first server operating as a real-time media communication (RTC) application function (AF) and a second server operating as a separate rendering server, so that the at least one processor supplies both the edge server and the separate rendering server via the RTC AF supply.
13. The device according to claim 11, wherein: The program code also includes: Fourth provisioning code is configured to: based on determining that the edge provisioning and the separate rendering provisioning are both client-driven, cause the at least one processor to provision the edge server and provision the separate management session via WebRTC application provisioning.
14. The device according to claim 11, wherein: The program code also includes: Provisioning code is configured to: based on determining that the edge provision is network driven and the separate rendering provision is client driven, cause the at least one processor to provide information of the edge server via one of RTC-8 and RTC-5.
15. The device according to claim 11, wherein The program code also includes: receiving code configured to cause the at least one processor to receive a request from an application provider; Establishing code configured to cause the at least one processor to establish the edge server, the edge server being used for the split rendering between the edge server and the UE, wherein establishing the edge server is performed by the application provider or the mobile network operator to run a split rendering process.
16. The device according to claim 15, wherein: The program code also includes: A fifth provisioning code is configured to cause the at least one processor to provision a split rendering session by the application provider using SR-1 and SR-3, wherein the split rendering session includes an identifier of the edge server previously provisioned.
17. The device according to claim 16, wherein: The program code also includes: Setting up code configured to cause the at least one processor to set up the separate rendering session by causing the at least one processor to: Discovered separate rendering servers; establishing a connection with the separate rendering server; sending one or more separate rendering capabilities to the separate rendering server; and A description of a separate rendering output is received from the separate rendering server.
18. The device according to claim 11, wherein Based on determining that the edge provisioning is network driven and the provisioning of the separate management session is client driven, providing information associated with the edge server over an SR5 or SR-8 interface.
19. The device according to claim 11, wherein: Based on determining that both the edge provisioning and the split rendering provisioning are client driven, the application service provider communicates with an application of the UE to provision the edge server and to provision the split management session.
20. A non-transitory computer-readable medium storing instructions, which, when executed by a processor of an apparatus for managing one or more media functions of an edge server and a client of a separate user equipment (UE) in a 5G network, causes the processor to perform a method comprising: determining whether edge provisioning of the edge server is network driven or client driven; Determining whether the split rendering provisioning of the edge server and the UE is network driven or client driven; Based on determining that (i) the edge provisioning is network driven, or (ii) both the edge provisioning and the split rendering provisioning are client driven; provisioning the edge server; as well as A split management session is provisioned to enable split rendering between the UE and the edge server, wherein, after provisioning the split management session, the split of the one or more media functions of the UE is negotiated with the 5G network.
