Method, apparatus and medium for preparing media streaming content for application providers in 5G networks
By defining and utilizing content preparation templates for just-in-time content preparation in 5G networks, the method addresses inefficiencies and reduces computational overhead, enhancing the efficiency of content delivery in 5G Media Streaming systems.
Patent Information
- Application Number
- JP2024083046
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-10-13
- Filing Date
- 2024-05-22
- Publication Date
- 2025-11-12
- Estimated Expiration
- 2041-10-14
AI Technical Summary
Existing 3GPP standards do not define the characteristics of content preparation templates or the process of using them for just-in-time content preparation in 5G networks, leading to inefficiencies and increased computational overhead.
The method involves creating and using content preparation templates to direct content preparation processes in 5G Media Streaming (5GMS) networks, including defining roles and collaboration scenarios for uplink and downlink streaming, enabling just-in-time content preparation.
This approach increases efficiency and reduces computational overhead by allowing for on-demand content preparation, optimizing resource allocation and delivery in 5G networks.
Smart Images

Figure 0007768657000001 
Figure 0007768657000002 
Figure 0007768657000003
Abstract
Description
[Technical Field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Provisional Application No. US63 / 161,837, filed March 16, 2021, and U.S. Application No. US17 / 500,305, filed with the U.S. Patent and Trademark Office on October 13, 2021, the contents of which are expressly incorporated herein by reference in their entireties.
[0002] Field The present disclosure relates generally to media processing and streaming methods and systems, and more particularly to content preparation in 5G networks. [Background technology]
[0003] The 3rd Generation Partnership Project (3GPP) TS 26.501 defines the general architecture for uplink and downlink streaming workflows. Additionally, 3GPP TS 26.512 defines the concept of a content preparation template. However, neither TS 26.501 nor TS 26.512 defines the characteristics of a content preparation template. Also, TS 26.512 does not define or describe the process of using content preparation for content preparation, specifically how to use content preparation templates for just-in-time content preparation. Summary of the Invention [Problem to be solved by the invention]
[0004] The present disclosure addresses one or more technical problems. The present disclosure provides a technical solution that enables application providers to direct the definition, processing, and preparation of content preparation using content preparation templates. Embodiments of the present disclosure provide methods and workflows for content preparation, including collaborative scenarios for content preparation for uplink and downlink streaming. [Means for solving the problem]
[0005] While TS 26.512 defines the concept of content preparation templates, this disclosure describes collaboration scenarios for content preparation for uplink and downlink streaming, including defining roles in the content preparation process and instantiating the content preparation process in 5G MS networks. Embodiments of the present disclosure also define how content preparation templates are used in multiple use cases that enable just-in-time content preparation on 5G networks. Just-in-time content preparation increases efficiency and reduces computational overhead for 5G networks and devices therein.
[0006]
[0006] Embodiments of the present disclosure include a method and apparatus for directing content preparation for a 5G Media Streaming (5GMS) network, executed by at least one processor implementing an application provider. The method includes creating a content preparation template by a 5GMS application provider, the content preparation template including first information specifying instructions for content preparation and second information specifying instructions for content output; establishing a first provisioning session with a 5GMS application function; sending the content preparation template to the 5GMS application function during the first provisioning session, the 5GMS application function requesting allocation of 5GMS content preparation resources and 5GMS content delivery resources; and receiving a first acknowledgement from the 5GMS application function, the first acknowledgement indicating allocation of at least one of the content preparation resources and the content delivery resources.
[0007] According to an embodiment, the method includes transmitting content to a 5GMS application server, the transmitting of the content occurring prior to downlink streaming of the content to one or more user devices, and the transmitting of the content to the 5GMS application server occurring after establishing the first provisioning session.
[0008] According to an embodiment, the 5GMS application server is configured to partially modify the content based on a content preparation template, and the 5GMS application server is configured to deliver the partially modified content to the one or more user devices.
[0009] According to an embodiment, the method includes receiving partially modified content from a 5GMS application server, the partially modified content being received after uplink streaming of the content from one or more user devices.
[0010] According to an embodiment, a 5GMS application server is configured to partially modify content from one or more user devices based on a content preparation template, and the 5GMS application server is configured to receive the content to be partially modified from the one or more user devices.
[0011] According to an embodiment, the application function includes a first application function, and the method includes the steps of: establishing a second provisioning session with a second 5GMS application function; defining a resource request, the resource request being based on the allocation of at least one of the 5GMS content preparation resources and the 5GMS content delivery resources; sending the resource request to the second 5GMS application function in the second provisioning session, the second 5GMS application function requesting allocation of 5GMS content preparation resources and 5GMS content delivery resources; and receiving a second confirmation response from the second 5GMS application function, the second confirmation response indicating the allocation of the 5GMS content preparation resources and the 5GMS content delivery resources based on the resource request.
[0012] According to an embodiment, the 5GMS application function is a first 5GMS application function, and the first acknowledgment further includes information indicating at least one of an uplink session or a downlink session with a second 5GMS application function.
[0013] According to an embodiment, sending a content preparation template to an application function causes instantiation of a content preparation and resource allocation process in the 5GMS application server.
[0014] According to an embodiment, the 5GMS application function includes a first 5GMS application function, and before receiving the first acknowledgment, the first 5GMS application function is configured to establish a second provisioning session with a second 5GMS application function. [Brief explanation of the drawings]
[0015] Further features, nature and various advantages of the disclosed subject matter will become more apparent from the following detailed description and accompanying drawings.
[0016] [Figure 1] 1 is a diagram of an environment in which the methods, apparatus, and systems described herein may be implemented, according to an embodiment.
[0017] [Figure 2] FIG. 2 is a block diagram of example components of one or more of the devices of FIG. 1.
[0018] [Figure 3] FIG. 1 is a block diagram of a network architecture for media streaming, according to an embodiment.
[0019] [Figure 4] FIG. 10 is a block diagram illustrating an exemplary process for application provider directed content preparation, according to an embodiment. [Figure 5] FIG. 10 is a block diagram illustrating an exemplary process for application provider directed content preparation, according to an embodiment.
[0020] [Figure 6]FIG. 1 is a block diagram of a network architecture for media streaming, according to an embodiment. [Figure 7] FIG. 10 is a block diagram illustrating an exemplary process for application provider directed content preparation, according to an embodiment. [Figure 8] FIG. 10 is a block diagram illustrating an exemplary process for application provider directed content preparation, according to an embodiment. [Figure 9] FIG. 10 is a block diagram illustrating an exemplary process for application provider directed content preparation, according to an embodiment.
[0021] [Figure 10A] 1 is a simplified flowchart illustrating an exemplary process for application provider-directed content preparation, according to an embodiment. [Figure 10B] 1 is a simplified flowchart illustrating an exemplary process for application provider-directed content preparation, according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0022] The proposed features discussed below may be used separately or combined in any order. Furthermore, embodiments may be implemented by processing circuitry (e.g., one or more processors or one or more integrated circuits) or processing entities (e.g., one or more application providers, one or more application servers, or one or more application functions). In one example, one or more processors execute a program stored on a non-transitory computer-readable medium.
[0023] A 5G Media Streaming (5GMS) system is a collection of application functions, application servers, and interfaces from the 5G Media Streaming architecture that support downlink media streaming services, uplink media streaming services, or both. A 5GMS application provider may include those who provide 5GMS-aware applications that interact with the functions of the 5GMS system. A 5GMS-aware application may refer to an application in the user equipment (UE) provided by a 5GMS application provider that contains the service logic for a 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 either a 5GMS downlink (5GMSd) client or a 5GMS uplink (5GMSu) client, or both.
[0024] 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 that can be accessed through a well-defined interface / API. A 5GMSu client may refer to an originator 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 enables uplink delivery of streaming media content to a 5GMS application provider's application server (AS) function and interacts with both 5GMSu-aware applications for media capture and subsequent streaming and a media session handler for media session control.
[0025] A dynamic policy may refer to dynamic policy and charging control (PCC) rules for uplink or downlink application flows during a media session. An ingest session may refer to an uplink media streaming session from a 5GMS AS to a 5GMSd application provider. An ingest session may refer to a session uploading media content to a 5GMSd AS. A policy template may refer to a set of 5GMS application provider-specific (semi-static) policy or control function (PCF) / network exposure function (NEF) API parameters and the resulting PCC rules. A policy template ID may identify the desired policy template. The desired policy template is used by the 5GMSd Application Function (AF) 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 point to a document or a pointer to a document that defines the media presentation (e.g., a media presentation description (MPD) for DASH or a uniform resource locator (URL) to a video clip file). A media streamer entry may point to a pointer (e.g., in the form of a URL) that defines the entry point of an uplink media streaming session. A presentation entry may point to a document or a pointer to a document, such as an HTML5 document, that defines the application presentation.
[0026] Provisioning Session may refer to a data structure provided at interface (M1d) by a 5GMSd application provider that configures 5GMSd functionality related to a collection of 5GMSd-aware applications. 5GMSd Media Player may refer to a UE function that enables the playback and rendering of media presentations based on media playback entries and exposes some basic controls such as play, pause, seek, and stop to 5GMSd-aware applications. Server Access Information may refer to a collection of parameters and addresses (including 5GMSd AF and 5GMSd AS addresses) required to activate reception of a streaming session. Service and Content Discovery may refer to functions and procedures provided by a 5GMSd application provider to 5GMSd-aware applications that enable end users to discover available streaming service and content offerings and select specific services or content items for access. Service Announcement may refer to the process between a 5GMS-Aware Application and a 5GMS Application Provider that enables the 5GMS-Aware Application to obtain 5GMS service access information directly or by reference to that information.
[0027] A third-party player may refer to a portion of an application that uses the API to exercise selected 5G M Sd functions to play media content. A third-party uplink streamer may refer to a portion of an application that uses the API to exercise selected 5G M Sd functions to capture and stream media content.
[0028] 1 is a diagram of an environment 100 in which the methods, devices, and systems described herein may be implemented, according to an embodiment. As shown in FIG. 1, environment 100 may include a user device 110, a platform 120, and a network 130. The devices of environment 100 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.
[0029] User device 110 includes one or more devices that can receive, generate, store, process, and / or provide information related to 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 a similar device. In some implementations, user device 110 can receive information from and / or transmit information to platform 120.
[0030] Platform 120 includes one or more devices, as described elsewhere herein. In some implementations, platform 120 may include a cloud server or a group of cloud servers. In some implementations, platform 120 may be designed modularly, such that software components can be swapped in or out depending on particular needs. Thus, platform 120 may be easily and / or quickly reconfigured for various uses.
[0031] In some implementations, as shown, platform 120 may be hosted in a cloud computing environment 122. In particular, although the implementations described herein describe platform 120 as being hosted in a cloud computing environment 122, in some implementations platform 120 may not be cloud-based (i.e., may be implemented outside of a cloud computing environment) or may be partially cloud-based.
[0032] Cloud computing environment 122 includes an environment that hosts platform 120. Cloud computing environment 122 can provide services such as computing, software, data access, and storage that do not require end users (e.g., user devices 110) to know the physical location and configuration of the systems and / or devices that host platform 120. As shown, cloud computing environment 122 may include a group of computing resources 124 (collectively referred to as "computing resources 124" and individually referred to as "computing resource 124").
[0033] 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, computing resources 124 may host platform 120. Cloud resources may include computational instances running on computing resources 124, storage devices provided on computing resources 124, data transfer devices provided by computing resources 124, etc. In some implementations, computing resources 124 may communicate with other computing resources 124 via wired connections, wireless connections, or a combination of wired and wireless connections.
[0034] As further shown in FIG. 1, computing resources 124 include a group of cloud resources such as one or more applications (“APP”) 124-1, one or more virtual machines (“VM”) 124-2, virtualized storage (“VS”) 124-3, one or more hypervisors (“HYP”) 124-4, etc.
[0035] Application 124-1 includes one or more software applications that can be provided to or accessed by user device 110 and / or platform 120. Application 124-1 can eliminate the need to install and run a software application on user device 110. For example, application 124-1 may include software associated with platform 120 and / or any other software that can be provided via cloud computing environment 122. In some implementations, one application 124-1 can send information to or receive information from one or more other applications 124-1 via virtual machine 124-2.
[0036] 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 may be either a system virtual machine or a process virtual machine, depending on the application and the degree to which virtual machine 124-2 corresponds to any real machine. A system virtual machine can provide a complete system platform that supports the execution of a complete operating system (“OS”). A process virtual machine may execute a single program or support a single process. In some implementations, virtual machine 124-2 may run on behalf of a user (e.g., user device 110) and manage the infrastructure of cloud computing environment 122, such as data management, synchronization, or long-term data transfer.
[0037] Virtualized storage 124-3 includes one or more storage systems and / or one or more devices that use virtualization techniques within the storage systems or devices of computing resource 124. In some implementations, within the context of storage systems, 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 can be accessed regardless of the physical storage or heterogeneous structure. This separation allows storage system administrators flexibility in how they manage storage for end users. File virtualization may eliminate the dependency between data accessed at the file level and where the file is physically stored. This may enable performance optimization of storage usage, server consolidation, and / or non-disruptive file migration.
[0038] The hypervisor 124-4 may provide hardware virtualization techniques that allow multiple operating systems (e.g., "guest operating systems") to run concurrently on a host computer, such as computing resource 124. The 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.
[0039] Network 130 may include one or more wired and / or wireless networks. For example, 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-optic-based network, etc., and / or a combination of these or other types of networks.
[0040] The number and arrangement of devices and networks shown in Figure 1 are provided as an example. In practice, there may be additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or different arrangements of devices and / or networks than those shown in Figure 1. Furthermore, two or more devices shown in Figure 1 may be implemented within a single device, or the single device shown in Figure 1 may be implemented as multiple distributed devices.
[0041] Additionally or alternatively, a set of devices (e.g., 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.
[0042] FIG. 2 is a block diagram of example components of one or more devices of FIG. 1. Device 200 may correspond to user device 110 and / or platform 120. As shown in FIG. 2, 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. Bus 210 includes components that enable communication between the components of device 200. Processor 220 is implemented in hardware, firmware, or a combination of hardware and software. Processor 220 is implemented in hardware, firmware, or a combination of hardware and software. 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, processor 220 includes one or more processors that can be programmed to perform functions. Memory 230 may include random access memory (RAM), 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 processor 220.
[0043] 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 other type of non-transitory computer-readable medium, along with a corresponding drive.
[0044] Input components 250 include components that enable device 200 to receive information via user input (e.g., a touchscreen 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)).
[0045] Communications interface 270 includes transceiver-like components (e.g., a transceiver and / or a separate receiver and transmitter) that enable device 200 to communicate with other devices via wired connections, wireless connections, or a combination of wired and wireless connections. Communications interface 270 may enable device 200 to receive information from and / or provide information to other devices. For example, communications 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.
[0046] 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. A computer-readable medium is defined herein as a non-transitory memory device. A memory device may include memory space within a single physical storage device or memory space distributed across multiple physical storage devices.
[0047] Software instructions may be loaded into memory 230 and / or storage component 240 from another computer-readable medium or from another device via communications interface 270. When executed, the software instructions stored in memory 230 and / or storage component 240 may cause processor 220 to perform one or more of the processes described herein. Additionally or alternatively, hard-wired circuitry may be used in place of or in combination with software instructions to perform one or more of the processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
[0048] The number and arrangement of components shown in Figure 2 are provided as an example. In practice, device 200 may include additional, fewer, different, or differently arranged components than those shown in Figure 2. Additionally or alternatively, a set of components (e.g., one or more components) of device 200 may perform one or more functions that are described as being performed by another set of components of device 200.
[0049] FIG. 3 is a diagram of a media architecture 300 for media streaming. In an embodiment, the media architecture 300 may be used to process media content after uplink streaming or before downlink streaming. A 5G Media Streaming Uplink (5GMS) application provider 301 may use 5GMS for streaming services. The 5GMS application provider 301 may provide a 5GMS-aware application 302 on the UE 303 to utilize the 5GMS client 304 and network functions using interfaces and APIs defined in 5GMS. The 5GMS application server (AS) may be an application server dedicated to 5G media streaming. The 5GMS client 304 may be a function within the UE 303 dedicated to 5G media streaming.
[0050] The 5GMS application functions 306 and the 5GMS application server 305 may be functions of a data network (DN) 307. Functions in a trusted data network may be trusted by the operator's network. Thus, application functions in a trusted data network can communicate directly with all 5G core functions. Functions in external data networks may only be able to communicate with the 5G core functions via a Network Exposure Function (NEF) 308 using link 320.
[0051] The media architecture 300 can connect UE 303 internal functions and associated network functions for 5G media uplink streaming. In some embodiments, the media architecture 300 can connect UE 303 internal functions and associated network functions for 5G media downlink streaming. Thus, the media architecture 300 can include several functions. For example, a 5GMS client 304 on the UE 303 can be an originator of 5GMS services that can be accessed through an interface / API. The 5GMS client 304 can include two sub-functions: a media session handler (MSH) 309 and a media streamer 310. The MSH 309 can communicate with the 5GMS application function 306 to establish, control, and support the delivery of media sessions. The MSH 309 can expose APIs that can be used by 5GMS-aware applications 302. The media streamer 310 can communicate with a 5GMS application server 305 to stream media content and provide services to 5GMS-aware applications 302 for media capture and streaming and to the MSH 309 for media session control. The 5GMS-aware applications 302 can implement external application or content service provider-specific logic and control the 5GMS clients 303 by enabling media session establishment. The 5GMS application server 305 can host 5G media functionality. The 5GMS application provider 301 can be an external application or content-specific media functionality, such as media storage, consumption, transcoding, and redistribution, that uses 5GMS to stream media from the 5GMS-aware applications 302.The 5GMS Application Function 306 may provide various control functions to the MSH 309 and / or 5GMS Application Provider 301 on the UE 303. The 5GMS Application Function 306 may relay or initiate requests for different Policy or Charging Function (PCF) 311 processing or interact with other network functions.
[0052] The media architecture 300 may include several different interfaces. For example, link M1 may be a 5GMS provisioning API exposed by the 5GMS application function 306 to provision use of the media architecture 300 and obtain feedback. Link M2 may be a 5GMS publish API exposed by the 5GMS application server 305 and used when a 5GMS application server 305 in a trusted data network, such as the data network 307, is selected to receive content for a streaming service. Link M3 may be an internal API used to exchange information for content hosting on the 5GMS application server 305 in a trusted data network, such as the data network 307. Link M4 may be a media uplink streaming API exposed by the 5GMS application server 323 to the media streamer 310 to stream media content. Link M5 may be a media session handling API, including appropriate security mechanisms (e.g., authorization and authentication), exposed by the 5GMS Application Function 305 to the Media Session Handler for processing, controlling, and assisting the media session. Link M6 may be a UE 303 media session handling API exposed by the MSH 309 to the 5GMS-aware Application 302 to utilize the 5GMS functions. Link M7 may be a UE media streamer API exposed by the media streamer 310 to the 5GMS-aware Application 302 and MSH 309 to utilize the media streamer 310. Link M8 may be an application API used for information exchange between the 5GMS-aware Application 302 and the 5GMS Application Provider 301, for example, to provide service access information to the 5GMS-aware Application 302.
[0053] The embodiments corresponding to Figures 4-5 and Figures 7-10B relate to workflows, collaboration schemes, and procedures directed to processing media content over 5G networks by 5G MS application providers.
[0054] In some embodiments, a 5GMS application provider can direct content processing through a 5G network by defining a content preparation process. As an example, a 5GMS application provider can direct content processing through a 5G network by defining a content preparation template and using network functions and APIs to provide the content preparation template to a 5GMS application function or a 5GMS application server through the 5G network. Content Preparation Templates (CPTs) may include information and instructions for content preparation. In some embodiments, a content preparation template includes information and instructions related to the output format of the media content. In some embodiments, a content preparation template may include information that can be used to allocate content preparation resources or content distribution resources across the 5GMS network. In some embodiments, a 5GMS application provider can define a content preparation template and provide the content preparation template to direct the content preparation process for a media stream before delivering the media stream to a UE.
[0055] In some embodiments, a 5GMS application provider can direct the content preparation process for a media stream from a 5GMS-aware application before receiving the media stream by defining a content preparation template and providing the content preparation template. In some embodiments, a 5GMS application provider can direct the content preparation process for a media stream by defining a content preparation template and providing the content preparation template to one or more 5GMS application functions in preparation for uplink media streams from one or more UEs and before downlink streaming to one or more UEs. For example, a 5GMS application provider can define a content preparation template and provide the content preparation template to a first 5GMS application function to enable the first 5GMS application function to communicate with a second 5GMS application function. The first 5GMS application function and the second 5GMS application function can communicate and process media content from a media stream after the media stream is uploaded from a 5GMS-aware application and before the media content is downloaded to another 5GMS-aware application.
[0056] In some embodiments, a 5GMS application provider may establish a provisioning session with one or more 5GMS application functions. In some embodiments, the 5GMS application provider may send content preparation templates to one or more 5GMS application functions during a provisioning session. In some embodiments, a 5GMS application provider may establish a provisioning session with a 5GMS application function and then define and send a content preparation template. In some embodiments, a 5GMS application provider may establish two or more provisioning sessions with two or more 5GMS application functions. In some embodiments, a 5GMS application provider may establish a provisioning session with a first 5GMS application function, and the first 5GMS application function may be configured to establish another provisioning session with a second 5GMS application function.
[0057] In some embodiments, the 5GMS application provider may receive an acknowledgment from the 5GMS application function after establishing a provisioning session with the 5GMS application function. The acknowledgment may include information regarding resource discovery, content preparation resource allocation, content distribution resource allocation, uplink sessions with one or more other 5GMS application functions, or downlink sessions with one or more other 5GMS application functions. In some embodiments, the 5GMS application server may determine information regarding resource discovery, content preparation resource allocation, and content distribution resource allocation and send it to the 5GMS application function.
[0058] In some embodiments, a 5GMS application provider may transmit media content to a 5GMS application server, where the media content may be modified based on a content preparation template. By way of example, in some embodiments, the media content to be transmitted may be partially or fully modified prior to downlink streaming of the modified media content to one or more user devices, and the 5GMS application provider may transmit the partially modified media content to the 5GMS application server. In some embodiments, the 5GMS application provider may transform the media content or partially modify the media content based on the content preparation template and deliver the partially modified media content to one or more requesting client devices.
[0059] In some embodiments, a 5GMS application provider may receive partially modified media content from a 5GMS application server, where the media content may be modified based on a content preparation template. By way of example, in some embodiments, the partially or fully modified media content may be received by the 5GMS application provider after uplink streaming of the media content from one or more user devices to the 5GMS application server. The 5GMS application server may partially or fully modify the media content received from one or more user devices based on the content preparation template and transmit the partially or fully modified media content to the 5GMS application provider that requested the partially or fully modified media content.
[0060] In some embodiments, a 5GMS application provider may direct the transfer of media content from a first 5GMS application server to another 5GMS application server through information in or associated with a content preparation template. The 5GMS application provider may direct the transfer of media content from a first 5GMS application server to another 5GMS application server through information in or associated with a content preparation template using one or more 5GMS application functions, wherein either the first 5GMS application server or the second 5GMS application server may be instructed to modify the media content based on the content preparation template.
[0061] In some embodiments, the 5GMS application provider may update a content preparation template and send the updated content preparation template to one or more 5GMS application functions. The 5GMS application provider may receive an updated acknowledgment from the 5GMS application function, where the acknowledgment may indicate updated information related to resource discovery, content preparation resource allocation, content distribution resource allocation, uplink sessions with one or more other 5GMS application functions, or downlink sessions with one or more other 5GMS application functions.
[0062] In some embodiments, a 5GMS application provider may create a content hosting configuration template (HCT) and send the content hosting configuration template to a 5GMS application function during a provisioning session with the 5GMS application provider. The content hosting configuration template may include instructions and information for a third-party provider to optimize delivery of media content over a 5G network. In some embodiments, a 5GMS application server may allocate content preparation resources and allocate content delivery resources based on the content hosting configuration template.
[0063] In some embodiments, the 5GMS application provider may announce the availability of the content preparation service based on an acknowledgement from the provisioning session. The availability of the content preparation service may be determined based on content preparation resource allocation, content distribution resource allocation, and resource discovery across the 5G network in general. In some embodiments, the 5GMS application provider may broadcast the availability of the content preparation service to one or more 5GMS-aware applications on the 5G network. In some embodiments, the 5GMS application provider may broadcast the availability of the content preparation service to one or more 5GMS devices in the 5G network.
[0064] In some embodiments, the 5GMS application provider may establish a second provisioning session with another 5GMS application function. The second provisioning session may include a resource request, where the resource request is based on the allocation of content preparation resources and content distribution resources. The 5GMS application provider may send the resource request to the second 5GMS application function and receive a second acknowledgment indicating the allocation of content preparation and distribution resources based on the resource request.
[0065] For example, if a 5GMS application provider defines content preparation between a downlink media stream and an uplink media stream, the 5GMS application provider may establish a first provisioning session with a first 5GMS application function and a second provisioning session with a second 5GMS application function. The first provisioning session may include the 5GMS application provider defining a content preparation template for the uplink media stream. The second provisioning session may include defining a resource request based on information regarding the allocation of content preparation resources or content distribution resources received from the first acknowledgment. The 5GMS application provider may send the information regarding the allocation of content preparation resources or content distribution resources received from the first acknowledgment to the second 5GMS application function. The 5GMS application provider may receive a second acknowledgment from the second 5GMS application server. The second acknowledgment indicates the allocation of content preparation and distribution resources based on the resource request.
[0066] In some embodiments, a 5GMS application provider may establish a first provisioning session with a first 5GMS application function, and the first 5GMS application function may establish a provisioning session with a second 5GMS application function. As an example, the 5GMS application provider may establish a provisioning session with an uplink 5GMS application function. The uplink 5GMS application function may establish a provisioning session with a downlink 5GMS application function. The two 5GMS application functions may communicate with each other and their respective 5GMS application servers to discover resources, allocate content preparation resources, and allocate content distribution resources. As another example, a 5GMS application provider may establish a provisioning session with a downlink 5GMS application function. The downlink 5GMS application function may establish a provisioning session with an uplink 5GMS application function. These two 5GMS application functions may communicate with each other and their respective 5GMS application servers to discover resources, allocate content preparation resources, and allocate content distribution resources. In some embodiments, each 5GMS application server may communicate with each other through an API to transfer media content that may be modified using content preparation templates.
[0067] In some embodiments, a 5GMS application server may discover resources for content processing. The 5GMS application server and a 5GMS application function may communicate about discovering and allocating resources based on a content preparation template. A content preparation template sent by a 5GMS application provider may have a cascading effect that triggers instantiation of content preparation and content resource allocation in the 5GMS application server when a 5GMS application function requests resources and media content defined by the 5GMS application provider in the content preparation template.
[0068] In some embodiments, processing the media stream may include one or more 5GMS application servers processing the content based on a content preparation template. In some embodiments, the 5GMS application server may receive media content from a 5GMS application provider and may modify the media content based on a content preparation template. In some embodiments, the 5GMS application server may receive modified media content from a 5GMS application provider, where the media content is modified based on a content preparation template. In some embodiments, the 5GMS application server may send media content or a media stream received from a 5GMS-aware application or a 5GMS client to a 5GMS application provider, where the media content may be modified based on a content preparation template by a component of the 5GMS network. In some embodiments, the 5GMS application server may send media content or a media stream received from a 5GMS-aware application or a 5GMS client to another 5GMS application server and may modify the media content based on a content preparation template. As one example, a first 5GMS application server may process media content received from a UE or a 5GMS-aware application based on a content preparation template and then send the processed media content to a second 5GMS application server. As another example, the first 5GMS application server may send media content received from a UE or a 5GMS-aware application to a second 5GMS application server that can process the media content based on the content preparation template.
[0069] 4 illustrates a process 400 that may be associated with a call flow for content preparation directed by a 5G MS application provider prior to downlink streaming of the content to a 5G-aware application on a client UE. Process 400 may be performed using architecture 300 or any other architecture desired.
[0070] According to process 400, at operation 405, the 5GMS application provider 301 may initiate or establish a provisioning session with the 5GMS application function 306 using link M1. In some embodiments, at operation 405, the 5GMS application provider 301 may create a content preparation template and send the content preparation template to the 5GMS application function 306 using link M1. In some embodiments, at operation 405, the 5GMS application provider 301 may use link M1 to request the 5GMS application function 306 to create one or more content preparation templates that define instructions for content preparation and content output formatting. At operations 410 and 420, the 5GMS application function 306 and the 5GMS application server 305 may communicate with each other, and the 5GMS application function 306 may use link M3 to request the 5GMS application server 305 to discover resources and allocate content preparation resources and content delivery resources based on the content preparation template. The 5GMS application server 305 may instantiate a content preparation process at operation 415 if the content preparation process has not been previously instantiated. Thus, the 5GMS application server 305 may instantiate and execute the content preparation process on demand or immediately prior to downlink streaming, i.e., just-in-time. This just-in-time processing increases the computational efficiency of the 5G network because computations are not performed before they are needed. At operation 425, the 5GMS application function 306 may send a confirmation notification to the 5GMS application provider 301. The confirmation notification may indicate successful creation of the content preparation template, include information about the content preparation resource, or include information about the content distribution resource.In operation 430, the 5GMS application provider 301 provides the media content to be partially modified to the 5GMS application server 305 using link M2.
[0071] At operation 435, there may be service announcement or communication between devices and components of the 5G network. In some embodiments, at operation 435, the 5GMS-aware application 302 may request service initiation from the 5GMS application provider 301 using link M8. At operation 440, the 5GMS-aware application 302 and the 5GMS client 304 may communicate via a UE API using one of links M7 or M8. At operation 445, the 5GMS client 304 may request service access from or provide service access to the 5GMS application function 306. At operation 450, the 5GMS client 304 may request media session handling with the 5GMS application function 306 using link M5. At operation 455, the 5GMS application server 305 sends the media stream to the 5GMS client 304 using M4.
[0072] 5 illustrates a process 500 that may be associated with a call flow for content preparation directed by a 5G MS application provider prior to uplink streaming of content from a 5G-aware application on a client UE to the 5G MS application provider. Process 500 may be performed using architecture 300 or any other architecture desired.
[0073] According to process 500, at operation 505, the 5GMS application provider 301 can initiate or establish a provisioning session with the 5GMS application function 606 using link M1. In some embodiments, at operation 505, the 5GMS application provider 301 can create a content preparation template and send the content preparation template to the 5GMS application function 606 using link M1. In some embodiments, at operation 505, the 5GMS application provider 301 can request the 5GMS application function 606 to create one or more content preparation templates that define instructions for content preparation and content output formatting using link M1. At operations 510 and 520, the 5GMS application function 606 and the 5GMS application server 605 can communicate with each other, and the 5GMS application function 606 can request the 5GMS application server 605 to discover resources and allocate content preparation resources and content delivery resources based on the content preparation template using link M3. The 5GMS application server 605 may instantiate a content preparation process if the content preparation process has not been previously instantiated at operation 515. At operation 525, the 5GMS application function 306 may send an acknowledgement to the 5GMS application provider 301. The acknowledgement indicates successful creation of the content preparation template, includes information about the content preparation resources, or includes information about the content delivery resources.
[0074] At operation 535, there may be service announcement or communication between devices and components of the 5G network. In some embodiments, at operation 535, the 5GMS application provider 301 may broadcast available services to one or more 5GMS-aware applications 602 using link M8. At operation 540, the 5GMS-aware applications 602 and the 5GMS client 604 may communicate via a UE API using one of links M7 or M8. At operation 545, the 5GMS client 604 may request service access from or provide service access to a 5GMS application function 606. At operation 550, the 5GMS client 604 may request media session handling with the 5GMS application function 606 using link M5. At operation 555, the 5GMS application server 605 receives a media stream from the 5GMS client 604 using M4. In operation 530, the 5GMS application provider 301 receives the media content to be partially modified to the 5GMS application server 305 using link M2.
[0075] FIG. 6 is a diagram of a media architecture 600 for media streaming. In an embodiment, the media architecture 600 may be used to process media content requested by a 5G Media Streaming (5GMS) application provider, which may be for uplink resource streaming from one or more UEs to one or more other UEs prior to downlink streaming. A 5G Media Streaming Uplink (5GMS) application provider 301 may use 5GMS for streaming services. The 5GMS application provider 301 may provide a 5GMS-aware application 302 on the UE 303 to utilize a 5GMS client 304 and network capabilities using interfaces and APIs defined in 5GMS. In some embodiments, the 5GMS application provider 301 may also provide a 5GMS-aware application 602 on the UE 603 to utilize a 5GMS client 604 and network capabilities using interfaces and APIs defined in 5GMS. The 5GMS Application Server may be an application server dedicated to 5G media streaming. The 5G MS client 304 may be a function within the UE 303 dedicated to 5G media streaming. In some embodiments, the 5G MS client 604 may be a function within the UE 603 dedicated to 5G media streaming.
[0076] The 5GMS application functions 606 and the 5GMS application server 605 may be data network 610 functions. Functions in the trusted data network 610 may be trusted by the operator's network. Thus, application functions in the trusted data network can communicate directly with all 5G core functions. Functions in external data networks may communicate with the 5G core functions only via the Network Exposure Function (NEF).
[0077] The media architecture 600 may connect the internal functions of the UE 603 and related network functions for 5G media uplink streaming. In some embodiments, the media architecture 600 may connect the internal functions of the UE 603 and related network functions for 5G media downlink streaming. Thus, the media architecture 600 may include several functions. For example, the 5GMS client 604 on the UE 603 may be an originator of 5GMS services that may be accessed through an interface / API. The 5GMS-aware application 602 may implement external application or content service provider-specific logic and control the 5GMS client 603 by enabling media session establishment. The 5GMS application server 605 may host 5G media functions. The 5GMS application provider 301 may be an external application or content-specific media function, such as media storage, consumption, transcoding, and redistribution, that streams media from the 5GMS-aware application 602 using 5GMS.
[0078] The media architecture 600 may include several different interfaces. For example, link M1 may be a 5GMS provisioning API exposed by a 5GMS application function 306 / 606 to provision use of the media architecture 600 and obtain feedback. Link M2 may be a 5GMS publish API exposed by a 5GMS application server 305 / 605 and used when a 5GMS application server 305 / 605 in a trusted data network, such as the data network 610, is selected to receive content for a streaming service. Link M3 may be an internal API used between a 5GMS application server 305 / 605 in a trusted data network, such as the data network 610, and a 5GMS application function 306 / 606 to exchange information for content hosting on the 5GMS application server 305 / 605.
[0079] Link M4 may be a media uplink or downlink streaming API exposed by the 5GMS application server 305 / 605 to the 5GMS client 304 / 604 for streaming media content. Link M5 may be a media session processing API exposed by the 5GMS application function 306 / 606 to the 5GMS client 304 / 604 for media session processing, control, and assistance, including appropriate security mechanisms, such as authorization and authentication. Link M8 may be an application API used for information exchange between the 5GMS-aware application 302 / 602 and the 5GMS application provider 301, for example, to provide service access information to the 5GMS-aware application 302 / 602. Link I2 may be an internal API exposed by the 5GMS application server 305 / 605 to other 5GMS application servers 605 / 305 and used for communication with a trusted data network, such as the data network 610. Link I1 may be an internal API exposed by a 5GMS application function 306 / 606 to other 5GMS application functions 606 / 306, used to communicate with a trusted data network, such as data network 610. Link N5 may be an internal interface that may be used to map application-specific instructions from one format to another.
[0080] 7 illustrates a process 700 that may relate to a call flow for content preparation directed by a 5G MS application provider requesting content preparation after uplink streaming from a 5G-aware application on a 5G MS UE and prior to downlink streaming of media content to a 5G-aware application on a client UE. Process 700 may be performed using architecture 300 or any other architecture desired.
[0081] According to process 700, at operation 710, the 5GMS application provider 301 may initiate or establish a provisioning session with the 5GMS application function 306 using link M1. In some embodiments, at operation 710, the 5GMS application provider 301 may create a content preparation template and send the content preparation template to the 5GMS application function 306 using link M1. In some embodiments, at operation 710, the 5GMS application provider 301 may use link M1 to request the 5GMS application function 306 to create one or more content preparation templates that define instructions for content preparation and content output formatting. At operations 715 and 725, the 5GMS application function 306 and the 5GMS application server 305 may communicate with each other, and the 5GMS application function 306 may use link M3 to request the 5GMS application server 305 to discover resources and allocate content preparation resources and content delivery resources based on the content preparation templates. The 5GMS application server 305 may instantiate a content preparation process at operation 720 if the content preparation process has not been previously instantiated. Thus, the 5GMS application server 305 may instantiate and execute the content preparation process on demand or immediately prior to downlink streaming, i.e., just-in-time. This just-in-time processing increases the computational efficiency of the 5G network because computations are not performed before they are needed. At operation 730, the 5GMS application function 306 may send an acknowledgement to the 5GMS application provider 301 indicating successful creation of the content preparation template and including information about the content preparation resources or including information about the content distribution resources.
[0082] At operation 735, the 5GMS application provider 301 may create a content preparation template and send the content preparation template to the 5GMS application function 606 using link M1. In some embodiments, at operation 735, the 5GMS application provider 301 may use link M1 to request the 5GMS application function 606 to create one or more content preparation templates that define instructions for content preparation and content output formatting. At operations 740 and 745, the 5GMS application function 606 and the 5GMS application server 605 may communicate with each other, and the 5GMS application function 606 may use link M3 to request the 5GMS application server 605 to discover resources and allocate content preparation resources and content distribution resources based on the content preparation template. At operation 750, the 5GMS application function 606 may send an acknowledgement to the 5GMS application provider 301 indicating successful creation of the content preparation template, including information related to the content preparation resources, or including information related to the content distribution resources. At operation 752, the 5GMS application provider 301 may broadcast the availability of the content preparation service to one or more 5GMS aware applications on the 5G network.
[0083] At operation 755, the 5GMS-aware application 302 and the 5GMS client 604 can communicate via a UE API using one of links M7 or M8. At operation 760, the 5GMS client 604 can request service access from or provide service access to the 5GMS application function 606. At operation 765, the 5GMS client 604 can request media session processing by the 5GMS application function using link M5. At operation 770, the 5GMS application server 605 receives an uplink media stream from the 5GMS client 604 using M4. At operation 775, the 5GMS application server 305 and the 5GMS application server 605 can communicate with each other using an internal API using link I2. In some embodiments, in operation 775, the downlink 5GMS application server 305 and the uplink 5GMS application server 605 may transfer or stream media content that may be requested by the 5GMS-aware application 302 or that may be modified by the downlink 5GMS application server 305 using a content preparation template.
[0084] At operation 780, the 5GMS application provider 301 may announce the start of a downlink media stream to the 5GMS-aware application 302. At operation 785, the 5GMS-aware application 302 and the 5GMS client 304 may communicate via a UE API using one of links M7 or M8. At operation 790, the 5GMS client 304 may request service access from or provide service access to the 5GMS application function 306. At operation 795, the 5GMS client 304 may request media session processing by the 5GMS application function using link M5. At operation 799, the 5GMS application server 305 receives the uplink media stream from the 5GMS client 304 using M4.
[0085] In some embodiments, a 5GMS application provider may establish a provisioning session with a first 5GMS application function, the first 5GMS application function may communicate with one or more other 5GMS application functions, and a second provisioning session may be established between the first 5GMS application function and the other 5GMS application functions.
[0086] In some embodiments, a 5GMS application provider may establish a provisioning session with an uplink 5GMS application function, which may communicate with one or more downlink 5GMS application functions. The uplink 5GMS application function may establish a second provisioning session with the downlink 5GMS application function, thus eliminating the need for the 5GMS application provider 301 to establish a second provisioning session with the downlink 5GMS application function.
[0087] In some embodiments, a 5GMS application provider may establish a provisioning session with a downlink 5GMS application function, which may communicate with one or more uplink 5GMS application functions. The downlink 5GMS application function may establish a second provisioning session with an uplink 5GMS application function, thus eliminating the need for the 5GMS application provider 301 to establish a second provisioning session with an uplink 5GMS application function.
[0088] 8 illustrates a process 800 that may relate to a call flow for content preparation directed by a 5G MS application provider requesting content preparation after uplink streaming from a 5G-aware application on a 5G MS UE and before downlink streaming of media content to a 5G-aware application on a client UE. Process 800 illustrates a variation of process 700. Operations 852-899 are similar to operations 752-799 in process 700.
[0089] In process 800, the 5GMS application provider may establish a provisioning session with only the downlink 5GMS application function 306, and the downlink 5GMS application function 306 may establish a provisioning session with the uplink 5GMS application function 606.
[0090] In operation 810, the 5GMS application provider 301 may initiate or establish a provisioning session with the downlink 5GMS application function 306 using link M1. In some embodiments, in operation 810, the downlink 5GMS application provider 301 may create a content preparation template and send the content preparation template to the 5GMS application function 306 using link M1. In some embodiments, in operation 810, the 5GMS application provider 301 may use link M1 to request the downlink 5GMS application function 306 to create one or more content preparation templates that define instructions for content preparation and content output formatting. In operations 815 and 825, the downlink 5GMS application function 306 and the downlink 5GMS application server 305 can communicate with each other, and the downlink 5GMS application function 306 can use link M3 to request the downlink 5GMS application server 305 to discover resources and allocate content preparation resources and content distribution resources based on the content preparation templates. The downlink 5GMS application server 305 may instantiate a content preparation process in operation 820 if the content preparation process has not been previously instantiated. Thus, the downlink 5GMS application server 305 may instantiate and execute the content preparation process on demand or immediately prior to downlink streaming, i.e., just-in-time. This just-in-time processing increases the computational efficiency of the 5G network because computations are not performed before they are needed.
[0091] At operation 835, the downlink 5GMS application function 306 may request internal provisioning by the uplink 5GMS application 606. At operations 840 and 845, the uplink 5GMS application function 606 and the uplink 5GMS application server 605 may communicate with each other, and the uplink 5GMS application function 606 may request the uplink 5GMS application server 605, using link M3, to discover resources and allocate content preparation resources and content distribution resources based on the content preparation template. At operation 850, the uplink 5GMS application function 606 may send an acknowledgement to the downlink 5GMS application function 306 indicating successful creation of the content preparation template, including information related to the content preparation resources, or including information related to the content distribution resources.
[0092] In operation 830, the downlink 5GMS application function 306 may send an acknowledgment to the 5GMS application provider 301 indicating successful provisioning by the uplink 5GMS application function 306, creation of a content preparation template, including information about content preparation resources, or including information about content distribution resources.
[0093] 9 illustrates a process 900 relating to a call flow for content preparation directed by a 5G MS application provider requesting content preparation after uplink streaming from a 5G-aware application on a 5G MS UE and prior to downlink streaming of media content to a 5G-aware application on a client UE. Process 900 illustrates a variation of process 700. Operations 952-999 are similar to operations 752-799 in process 700.
[0094] In process 900, the 5GMS application provider can establish a provisioning session with only the uplink 5GMS application function 606, and the uplink 5GMS application function 606 can establish a provisioning session with the downlink 5GMS application function 306.
[0095] At operation 910, the 5GMS application provider 301 may initiate or establish a provisioning session with the uplink 5GMS application function 606 using link M1. In some embodiments, at operation 910, the 5GMS application provider 301 may create a content preparation template and send the content preparation template to the uplink 5GMS application function 606 using link M1. In some embodiments, at operation 910, the 5GMS application provider 301 may use link M1 to request the uplink 5GMS application function 606 to create one or more content preparation templates that define instructions for content preparation and content output formatting. At operations 915 and 920, the uplink 5GMS application function 606 and the uplink 5GMS application server 605 may communicate with each other, and the uplink 5GMS application function 606 may use link M3 to request the uplink 5GMS application server 605 to discover resources and allocate content preparation resources and content delivery resources based on the content preparation templates.
[0096] In operation 922, the uplink 5GMS application function 606 can request internal provisioning by the downlink 5GMS application function 306 using link I1. In operations 925 and 935, the downlink 5GMS application function 306 and the downlink 5GMS application server 305 can communicate with each other, and the downlink 5GMS application function 306 can request the downlink 5GMS application server 305 to discover resources and allocate content preparation resources and content distribution resources based on a content preparation template using link M3. In operation 930, the downlink 5GMS application server 305 can instantiate a content preparation process if the content preparation process has not been previously instantiated. Thus, the downlink 5GMS application server 305 can instantiate and execute the content preparation process upon request or immediately prior to downlink streaming, i.e., just-in-time. This just-in-time processing increases the computational efficiency of the 5G network because computations are not performed before they are needed.
[0097] At operation 940, the downlink 5GMS application function 306 may send an acknowledgment to the uplink 5GMS application function 606 indicating successful creation of the content preparation template, including information related to the content preparation resource, or including information related to the content distribution resource.
[0098] In operation 945, the uplink 5GMS application function 606 may send an acknowledgement to the downlink 5GMS application function 306 indicating successful creation of the content preparation template, including information related to the content preparation resource, or including information related to the content distribution resource.
[0099] FIG. 10A shows an example flowchart illustrating a process 1000 that may be associated with a 5GMS application provider directing a content preparation process for processing media content to be streamed over a 5G network. At 1010, the 5GMS application provider may create a content preparation template that includes first information and second information. In some embodiments, the first information may include information related to content preparation. As an example, the first information may include specific instructions for content preparation. In some embodiments, the second information may include information related to content output. As an example, the second information may include instructions specifying an output format and requirements for the media content. As an example, the 5GMS application provider 301 may create a preparation template that includes the first information and the second information.
[0100] At 1015, the 5GMS application provider may establish a first provisioning session with the 5GMS application function. As an example, the 5GMS application provider 301 may establish a first provisioning session with the 5GMS application function 306 using link M1.
[0101] At 1020, the 5GMS application provider may send the content preparation template to the 5GMS application function. As an example, the 5GMS application provider 301 may establish a first provisioning session with the 5GMS application function 306 using link M1 and send the content preparation template using link M1. In some embodiments, sending the content preparation template to the 5GMS application function may cause instantiation of a content preparation and resource allocation process in the application server. As an example, the 5GMS application provider 301 may establish a first provisioning session with the 5GMS application function 306 using link M1 and send the content preparation template using link M1. This may cause the 5GMS application function 306 to instantiate a content preparation and resource allocation process in the 5GMS application server 305 using link M3. Upon completion of the content preparation and resource allocation process in the 5GMS application server 305, the 5GMS application server 305 may communicate with the 5GMS application function 306 to indicate the allocation of at least one of the content preparation resources and the content distribution resources.
[0102] At 1025, the 5GMS application provider may receive a first acknowledgment from the 5GMS application function, the first acknowledgment including an indication of the allocation of at least one of the content preparation resources and the content distribution resources. As an example, the 5GMS application function 306 may send the first acknowledgment to the 5GMS application provider 301, the first acknowledgment indicating successful creation of the content preparation template, including information related to the content preparation resources, or including information related to the content distribution resources. In some embodiments, the first acknowledgment may also include information indicating at least one of an uplink session or a downlink session with the second application function.
[0103] At 1030, the 5GMS application provider may perform a data transfer operation with the 5GMS application server.
[0104] In some embodiments, a 5GMS application provider can transmit content to a 5GMS application server, where the transmission of the content occurs prior to downlink streaming of the partially modified content to one or more user devices. Further, the 5GMS application provider can instruct the 5GMS application server (in some embodiments, via a 5GMS application function) to partially or fully modify the content based on a content preparation template and deliver the partially or fully modified content to the one or more client devices that requested the modified content.
[0105] As an example, the 5GMS application provider 301 may transmit media content to the 5GMS application server 305, where the media content may be modified based on a content preparation template. By way of example, in some embodiments, the transmitted media content may be partially or fully modified prior to downlink streaming of the modified media content to one or more user devices, 5GMS clients 304, or 5GMS-aware applications 302. The 5GMS application provider 301 may transmit the media content to be partially modified to the 5GMS application server 305. In some embodiments, the 5GMS application provider 305 may transform the media content or partially modify the media content based on the content preparation template and deliver the partially modified media content to the one or more requesting user devices, 5GMS clients 304, or 5GMS-aware applications 302.
[0106] In some embodiments, a 5GMS application provider may receive partially modified content from a 5GMS application server, where the partially modified media content is received after uplink streaming of the content from one or more user devices. In some embodiments, the partially or fully modified media content may be received by the 5GMS application provider after uplink streaming of the media content from one or more user devices to a 5GMS application server. The 5GMS application server may partially or fully modify the media content received from the one or more user devices based on a content preparation template and send the partially or fully modified media content to the 5GMS application provider that requested the partially or fully modified media content.
[0107] In some embodiments, a 5GMS application provider may direct the transfer of media content from a first 5GMS application server to another 5GMS application server through information in or associated with a content preparation template. The 5GMS application provider may direct the transfer of media content from a first 5GMS application server to another 5GMS application server through information in or associated with a content preparation template using one or more 5GMS application functions, wherein either the first 5GMS application server or the second 5GMS application server may be instructed to modify the media content based on the content preparation template.
[0108] 10B shows an example flowchart illustrating a process 1050 that may be associated with a 5GMS application provider directing a content preparation process for processing media content to be streamed over a 5G network. In some embodiments, process 1050 may involve the 5GMS application provider establishing a second provisioning session with a second 5GMS application function. In some embodiments, the establishment of the second provisioning session may be initiated by the 5GMS application provider to modify or process the media content after it has been uploaded by an uplink 5GMS-aware application associated with an uplink 5GMS client and before it is downloaded by a downlink 5GMS-aware application associated with a downlink 5GMS client. As an example, the 5GMS application provider 301 may provision a second session with another 5GMS application function 606 when processing media content after a 5GMS-aware application 602 associated with a 5GMS client 604 uploads media content to a 5G network but before the 5GMS-aware application 302 associated with the 5GMS client 304 downloads the media content.
[0109] At 1060, the 5GMS application provider may establish a second provisioning session with a second 5GMS application function. As an example, the 5GMS application provider 301 may establish a second provisioning session with the second 5GMS application function 606. In some embodiments, the 5GMS application provider may instruct the first 5GMS application function to establish a second provisioning session with the second 5GMS application function. As an example, the 5GMS application provider 301 may establish a first provisioning session with the 5GMS application function 306 and then instruct or configure the 5GMS application function 306 to establish a second provisioning session with the second 5GMS application function 606. As another example, the 5GMS application provider 301 may establish a first provisioning session with a 5GMS application function 606 and then direct or configure the 5GMS application function 606 to establish a second provisioning session with a second 5GMS application function 306. In some embodiments, the 5GMS application provider may direct the first 5GMS application function to establish the second provisioning session with the second 5GMS application function before receiving the first acknowledgment.
[0110] At 1065, the 5GMS application provider may define a resource request based on the allocation of at least one of the content preparation resources and the content distribution resources. As an example, the 5GMS application provider 301 may define a resource request based on the allocation of at least one of the content preparation resources and the content distribution resources indicated by the first acknowledgment.
[0111] The 5GMS application provider may send the resource request to a second 5GMS application function at 1070. As an example, the 5GMS application provider 301 may send the resource request to a second 5GMS application function 606.
[0112] At 1075, the 5GMS application provider may receive a second acknowledgment from the second 5GMS application function that includes an indication of the allocation of content preparation resources and content distribution resources based on the resource request. As an example, the 5GMS application provider 301 may receive a second acknowledgment from the second 5GMS application function 606 that indicates the allocation of content preparation resources and content distribution resources based on the resource request by the 5GMS application provider 301.
[0113] 4-5 and 7-10B illustrate exemplary operations of processes 400, 500, 700, 800, 900, 1000, and 1050 in embodiments, although processes 400, 500, 700, 800, 900, 1000, and 1050 may include additional, fewer, different, or differently ordered operations compared to those shown in FIGS. 4-5 and 7-10B. In embodiments, any of the operations of processes 400, 500, 700, 800, 900, 1000, and 1050 may be combined or ordered in any quantity or order as desired. In embodiments, two or more of the operations of processes 400, 500, 700, 800, 900, 1000, and 1050 may be performed in parallel. The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.
[0114] As used herein, the term element / component is intended to be broadly interpreted as hardware, firmware, or a combination of hardware and software.
Claims
1. 1. A method for directing content preparation for a 5G media streaming (5GMS) network, executed by at least one processor implementing a 5GMS application provider, the method comprising: creating a content preparation template by the 5GMS application provider, the content preparation template including first information specifying instructions for content preparation and second information specifying instructions for content output; establishing a first provisioning session with a first 5GMS application function; sending the content preparation template to the first 5GMS application function in the first provisioning session; receiving a first acknowledgment from the first 5GMS application function, the first acknowledgment including information indicating at least one of an uplink session or a downlink session with a second 5GMS application function; method.
2. The method includes transmitting content to a 5GMS application server, the transmitting of the content occurring prior to downlink streaming of the content to one or more user devices, and the transmitting of the content to the 5GMS application server occurring after establishing the first provisioning session. The method of claim 1.
3. The method described in claim 2, wherein the 5GMS application server is configured to partially modify the content based on the content preparation template, and the 5GMS application server is configured to deliver the partially modified content to the one or more user devices.
4. The method further includes receiving the partially modified content from a 5GMS application server, wherein the partially modified content is received after uplink streaming of content from one or more user devices.
4. The method according to any one of claims 1 to 3.
5. The method described in claim 4, wherein the 5GMS application server is configured to partially modify the content from the one or more user devices based on the content preparation template, and the 5GMS application server is configured to receive the content to be partially modified from the one or more user devices.
6. The method according to claim 1, wherein the first acknowledgement indicates allocation of at least one of content preparation resources and content delivery resources, the method further comprising: establishing a second provisioning session with the second 5GMS application function; defining a resource request, the resource request being based on the allocation of the at least one of the 5GMS content preparation resources and the 5GMS content delivery resources; sending the resource request to the second 5GMS application function in the second provisioning session, the second 5GMS application function requesting allocation of 5GMS content preparation resources and 5GMS content delivery resources; receiving a second acknowledgement from the second 5GMS application function, the second acknowledgement indicating the allocation of the 5GMS content preparation resources and the 5GMS content delivery resources based on the resource request; 6. The method according to any one of claims 1 to 5.
7. A method described in any one of claims 1 to 5, wherein the first 5GMS application function requests allocation of 5GMS content preparation resources and 5GMS content delivery resources.
8. A method described in any one of claims 1 to 7, wherein sending the content preparation template to the first 5GMS application function causes instantiation of a content preparation and resource allocation process in a 5GMS application server.
9. A method described in any one of claims 1 to 5, wherein before receiving the first confirmation response, the first 5GMS application function is configured to establish a second provisioning session with the second 5GMS application function.
10. An apparatus for commanding content preparation for a 5G media streaming (5GMS) network, the apparatus comprising: at least one memory configured to store program code; at least one processor implementing a 5GMS application provider configured to read said program code and operate as instructed by said program code, said program code comprising: causing said at least one processor to perform the method of any one of claims 1 to 9; Device.
11. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a device for management functions of a 5G Media Streaming (5GMS) network, cause the one or more processors to perform a method according to any one of claims 1 to 9.
Citation Information
Patent Citations
A system for presenting multimedia content
JP2007516650A
System for presentation of multimedia content
US20040268413A1
Next generation terrestrial broadcasting platform aligned internet and towards emerging 5g network architectures
US20170295409A1