Methods for implementing various uplink streaming deployment scenarios in 5G networks

Systems, devices, and methods for media processing and streaming, including transmitting, by a 5G media streaming uplink (5GMSu) application provider (AP), a request to create a provisioning session for 5GMSu streaming using a 5GMS system. Methods may include receiving, by the 5GMSu AP, an acknowledgement corresponding to the provisioning session. Methods may include performing, by the 5GMSu AP, a 5GMSu egest operation corresponding to the 5GMSu streaming. The 5GMSu AP is included in an external data network (DN) which is external to the 5GMS system.

FIELD

Embodiments of this disclosure are directed to media processing and streaming methods and systems, more particularly to performing uplink streaming in multiple different deployment scenarios.

BACKGROUND

The 5G media streaming architecture defined in 3GPP TS26.501 (3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 5G Media Streaming (5GMS); General description and architecture (Release 16), V16.3.1) only defines a general architecture for uplink and downlink media streaming. Further, 3GPP TS26.512 defines the concept of uplink streaming where the content is streamed from the device to an external Service Provider. However, they do not define call flows for various collaboration scenarios for uplink streaming.

SUMMARY

According to one or more embodiments, a method for 5G media streaming (5GMS) is performed by at least one processor and includes transmitting, by a 5GMS uplink (5GMSu) application provider (AP), a request to create a provisioning session for 5GMSu streaming using a 5GMS system; receiving, by the 5GMSu AP, an acknowledgement corresponding to the provisioning session; and performing, by the 5GMSu AP, a 5GMSu egest operation corresponding to the 5GMSu streaming, wherein the 5GMSu AP is included in an external data network (DN) which is external to the 5GMS system.

According to one or more embodiments, a device for 5G media streaming (5GMS) includes at least one memory configured to store program code; and at least one processor configured to read the program code and operate as instructed by the program code, the program code including: transmitting code configured to cause the at least one processor to transmit, by a 5GMS uplink (5GMSu) application provider (AP), a request to create a provisioning session for 5GMSu streaming using a 5GMS system; receiving code configured to cause the at least one processor to receive, by the 5GMSu AP, an acknowledgement corresponding to the provisioning session; and egest code configured to cause the at least one processor to perform, by the 5GMSu AP, a 5GMSu egest operation corresponding to the 5GMSu streaming, wherein the 5GMSu AP is included in an external data network (DN) which is external to the 5GMS system.

According to one or more embodiments, a non-transitory computer-readable medium stores instructions, the instructions including: one or more instructions that, when executed by one or more processors of a device for 5G media streaming (5GMS), cause the one or more processors to: transmit, by a 5GMS uplink (5GMSu) application provider (AP), a request to create a provisioning session for 5GMSu streaming using a 5GMS system; receive, by the 5GMSu AP, an acknowledgement corresponding to the provisioning session; and perform, by the 5GMSu AP, a 5GMSu egest operation corresponding to the 5GMSu streaming, wherein the 5GMSu AP is included in an external data network (DN) which is external to the 5GMS system.

DETAILED DESCRIPTION

FIG.1is a diagram of an environment100in which methods, apparatuses, and systems described herein may be implemented, according to embodiments. As shown inFIG.1, the environment100may include a user device110, a platform120, and a network130. Devices of the environment100may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.

The user device110includes one or more devices capable of receiving, generating, storing, processing, and/or providing information associated with platform120. For example, the user device110may 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 radiotelephone, etc.), a wearable device (e.g., a pair of smart glasses or a smart watch), or a similar device. In some implementations, the user device110may receive information from and/or transmit information to the platform120.

The platform120includes one or more devices as described elsewhere herein. In some implementations, the platform120may include a cloud server or a group of cloud servers. In some implementations, the platform120may be designed to be modular such that software components may be swapped in or out depending on a particular need. As such, the platform120may be easily and/or quickly reconfigured for different uses.

In some implementations, as shown, the platform120may be hosted in a cloud computing environment122. Notably, while implementations described herein describe the platform120as being hosted in the cloud computing environment122, in some implementations, the platform120may not be cloud-based (i.e., may be implemented outside of a cloud computing environment) or may be partially cloud-based.

The cloud computing environment122includes an environment that hosts the platform120. The cloud computing environment122may provide computation, software, data access, storage, etc. services that do not require end-user (e.g. the user device110) knowledge of a physical location and configuration of system(s) and/or device(s) that hosts the platform120. As shown, the cloud computing environment122may include a group of computing resources124(referred to collectively as “computing resources124” and individually as “computing resource124”).

The computing resource124includes one or more personal computers, workstation computers, server devices, or other types of computation and/or communication devices. In some implementations, the computing resource124may host the platform120. The cloud resources may include compute instances executing in the computing resource124, storage devices provided in the computing resource124, data transfer devices provided by the computing resource124, etc. In some implementations, the computing resource124may communicate with other computing resources124via wired connections, wireless connections, or a combination of wired and wireless connections.

As further shown inFIG.1, the computing resource124includes a group of cloud resources, such as one or more applications (“APPs”)124-1, one or more virtual machines (“VMs”)124-2, virtualized storage (“VSs”)124-3, one or more hypervisors (“HYPs”)124-4, or the like.

The application124-1includes one or more software applications that may be provided to or accessed by the user device110and/or the platform120. The application124-1may eliminate a need to install and execute the software applications on the user device110. For example, the application124-1may include software associated with the platform120and/or any other software capable of being provided via the cloud computing environment122. In some implementations, one application124-1may send/receive information to/from one or more other applications124-1, via the virtual machine124-2.

The virtual machine124-2includes a software implementation of a machine (e.g. a computer) that executes programs like a physical machine. The virtual machine124-2may be either a system virtual machine or a process virtual machine, depending upon use and degree of correspondence to any real machine by the virtual machine124-2. A system virtual machine may provide a complete system platform that supports execution of a complete operating system (“OS”). A process virtual machine may execute a single program, and may support a single process. In some implementations, the virtual machine124-2may execute on behalf of a user (e.g. the user device110), and may manage infrastructure of the cloud computing environment122, such as data management, synchronization, or long-duration data transfers.

The hypervisor124-4may provide hardware virtualization techniques that allow multiple operating systems (e.g. “guest operating systems”) to execute concurrently on a host computer, such as the computing resource124. The hypervisor124-4may present a virtual operating platform to the guest operating systems, and may manage the execution of the guest operating systems. Multiple instances of a variety of operating systems may share virtualized hardware resources.

FIG.2is a block diagram of example components of one or more devices ofFIG.1. The device200may correspond to the user device110and/or the platform120. As shown inFIG.2, the device200may include a bus210, a processor220, a memory230, a storage component240, an input component250, an output component260, and a communication interface270.

The bus210includes a component that permits communication among the components of the device200. The processor220is implemented in hardware, firmware, or a combination of hardware and software. The processor220is 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 processor220includes one or more processors capable of being programmed to perform a function. The memory230includes a random access memory (RAM), a read only memory (ROM), and/or another type of dynamic or static storage device (e.g. a flash memory, a magnetic memory, and/or an optical memory) that stores information and/or instructions for use by the processor220.

The input component250includes a component that permits the device200to receive information, such as via user input (e.g. a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and/or a microphone). Additionally, or alternatively, the input component250may include a sensor for sensing information (e.g. a global positioning system (GPS) component, an accelerometer, a gyroscope, and/or an actuator). The output component260includes a component that provides output information from the device200(e.g. a display, a speaker, and/or one or more light-emitting diodes (LEDs)).

The communication interface270includes a transceiver-like component (e.g., a transceiver and/or a separate receiver and transmitter) that enables the device200to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. The communication interface270may permit the device200to receive information from another device and/or provide information to another device. For example, the communication interface270may 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, or the like.

The device200may perform one or more processes described herein. The device200may perform these processes in response to the processor220executing software instructions stored by a non-transitory computer-readable medium, such as the memory230and/or the storage component240. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.

Software instructions may be read into the memory230and/or the storage component240from another computer-readable medium or from another device via the communication interface270. When executed, software instructions stored in the memory230and/or the storage component240may cause the processor220to 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, implementations described herein are not limited to any specific combination of hardware circuitry and software.

The number and arrangement of components shown inFIG.2are provided as an example. In practice, the device200may include additional components, fewer components, different components, or differently arranged components than those shown inFIG.2. Additionally, or alternatively, a set of components (e.g. one or more components) of the device200may perform one or more functions described as being performed by another set of components of the device200.

A 5G media streaming (5GMS) system may be an assembly of application functions, application servers, and interfaces from the 5G media streaming architecture that support either downlink media streaming services or uplink media streaming services, or both. A 5GMS Application Provider may include a party that interacts with functions of the 5GMS system and supplies a 5GMS Aware Application that interacts with functions of the 5GMS system. The 5GMS Aware Application may refer to an application in the user equipment (UE), provided by the 5GMS Application Provider, that contains the service logic of the 5GMS application service, and interacts with other 5GMS Client and Network functions via the 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.

The 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 may be accessed through well-defined interfaces/APIs. The 5GMSu Client may refer to an originator of a 5GMSu service that may be accessed through well-defined interfaces/APIs. A 5GMSu media streamer may refer to a UE function that enables uplink delivery of streaming media content to an Application Server (AS) function of the 5GMS Application Provider, and which interacts with both the 5GMSu Aware Application for media capture and subsequent streaming, and the Media Session Handler for media session control.

A dynamic policy may refer to a dynamic policy and charging control (PCC) rule for an uplink or downlink application flow during a media session. An egest session may refer to an uplink media streaming session from the 5GMS AS towards the 5GMSu Application Provider. An ingest session may refer to a session to upload the media content to a 5GMSd AS. A policy template may refer to a collection of (semi-static) Policy or Control Function (PCF)/Network Exposure Function (NEF) API parameters which are specific to the 5GMS Application Provider and also the resulting PCC rule. A policy template ID may identify the desired policy template, which is used by the 5GMSd Application Function (AF) to select the appropriate PCF/NEF API towards the 5G system so that the PCF can compile the desired PCC rule. The 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) to 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 of 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.

A Provisioning Session may refer to a data structure supplied at an interface (Mid) by a 5GMSd Application provider that configures the 5GMSd features relevant to a set of 5GMSd Aware Applications. A 5GMSd Media Player may refer to a UE function that enables playback and rendering of a media presentation based on a media play entry and exposing some basic controls such as play, pause, seek, stop, to the 5GMSd Aware Application. Server Access Information may refer to a set of parameters and addresses (including 5GMSd AF and 5GMSd AS addresses) which are needed to activate the reception of a streaming session. A Service and Content Discovery may refer to functionality and procedures provided by a 5GMSd Application Provider to a 5GMS Aware Application that enables the end user to discover the available streaming service and content offerings and select a specific service or content item for access. A Service Announcement may refer to procedures conducted between the 5GMS Aware Application and the 5GMS Application Provider such that the 5GMS Aware Application is able to obtain 5GMS Service Access Information, either directly or in the form of a reference to that information.

A third party player may refer to a part of an application that uses APIs to exercise selected 5GMSd functions to play back media content. A third party uplink streamer may refer to a part of an application that uses APIs to exercise selected 5GMSu functions to capture and stream media content.

The 5G media streaming architecture defined in 3GPP TS26.501 (3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 5G Media Streaming (5GMS); General description and architecture (Release 16), V16.3.1) only defines a general architecture for uplink and downlink media streaming. Further, 3GPP TS26.512 defines the concept of uplink streaming where the content is streamed from the device to an external Service Provider.

A 5G media-streaming architecture for uplink streaming is shown inFIG.3.

FIG.3is a diagram of a media architecture300for media uplink streaming. A 5G media streaming uplink (5GMSu) Application Provider301may use 5GMSu for uplink streaming services. 5GMSu Application provider301may provide a 5GMSu Aware Application302on the UE303to make use of 5GMSu Client304and network functions using interfaces and APIs defined in 5GMSu. 5GMSu Application Server (AS) may be an AS dedicated to 5G Media Uplink Streaming. 5GMSu Client304may be a UE303internal function dedicated to 5G Media Uplink Streaming.

5GMSu Application Function (AF)306and 5GMSu AS305may be Data Network (DN)307functions. Functions in trusted DNs may be trusted by the operator's network. Therefore, AFs in trusted DNs may directly communicate with all 5G Core functions. Functions in external DNs may only communicate with 5G Core functions via the Network Exposure Function (NEF)308using link320. In embodiments, link320may relate to N33, which may be an API.

The media architecture300may connect UE303internal functions and related network functions for 5G Media Uplink Streaming. Accordingly, media architecture300may include a number of functions. For example, 5GMSu Client304on UE303may be an originator of 5GMSu service that may be accessed through interfaces/APIs. 5GMSu Client304may include two sub-functions, media session handler309and media streamer310. Media session handler309may communicate with the 5GMSu AF306in order to establish, control and support the delivery of a media session. The Media Session Handler309may expose APIs that can be used by the 5GMSu Aware Application302. Media Streamer310may communicate with 5GMSu AS305in order to stream the media content and provide a service to the 5GMSu Aware Application302for media capturing and streaming, and the Media Session Handler309for media session control. 5GMSu Aware Application302may control 5GMSu Client304by implementing external application or content service provider specific logic and enabling the establishment of a media session. 5GMSu AS305may host 5G media functions. 5GMSu Application Provider301may be an external application or content specific media functionality, e.g., media storage, consumption, transcoding and redistribution that uses 5GMSu to stream media from 5GMSu Aware Application302. 5GMSu AF306may provide various control functions to the Media Session Handler309on the UE303and/or to 5GMSu Application Provider301. 5GMSu AF306may relay or initiate a request for different Policy or Charging Function (PCF)311treatment or interact with other network functions.

Media architecture300may include a number of different interfaces. For example, link321may relate to M1u, which may be a 5GMSu Provisioning API exposed by 5GMSu AF306to provision usage of media architecture300and to obtain feedback. Link322may relate to M2u, which may be a 5GMSu Publish API exposed by 5GMSu AS305and used when 5GMSu AS305in trusted DN, such as DN307, is selected to receive content for streaming service. Link323may relate to M3u, which may be an internal API used to exchange information for content hosting on 5GMSu AS305within a trusted DN such as DN307. Link324may relate to M4u, which may be a Media Uplink Streaming API exposed by 5GMSu AS305to Media Streamer310to stream media content. Link325may relate to M5u, which may be a Media Session Handling API exposed by 5GMSu AF305to Media Session Handler for media session handling, control and assistance that also include appropriate security mechanisms e.g. authorization and authentication. Link326may relate to M6u, which may be a UE303Media Session Handling API exposed by Media Session Handler309to 5GMSu Aware Application302to make use of 5GMSu functions. Link327may relate to M7u, which may be a UE Media Streamer API exposed by Media Streamer310to 5GMSu Aware Application302and Media Session Handler309to make use of Media Streamer310. Link328may relate to M8u, which may be an Application API which is used for information exchange between 5GMSu Aware Application302and 5GMSu Application Provider301, for example to provide service access information to the 5GMSu Aware Application302.

As discussed above, 3GPP TS26.501 defines a general architecture for uplink and downlink media streaming, and 3GPP TS26.512 defines the concept of uplink streaming where the content is streamed from the device to an external Service Provider. According to embodiments, architectures and call flows for various collaboration scenarios for uplink streaming may be provided.

FIG.4is a diagram of a media architecture400for media uplink streaming, according to embodiments. As can be seen inFIG.4, media architecture400may be similar to media architecture300, except that 5GMSu Aware Application302, 5GMSu AF306, and 5GMSu AS305may be in communication with 5GMSu Application Provider401. In embodiments, 5GMSd Application Provider401may be included in external DN407, rather than trusted DN307.

In embodiments, media architecture400may relate to a collaboration scenario involving a media plane only collaboration for which the 5GMSu AS305is deployed in the trusted DN307. In embodiments, the 5GMS System Provider associated with trusted DN307may offer uplink streaming capabilities as a service to 5GMSu Application Provider401in the external DN407.

FIG.5is a flowchart of example process500corresponding to the collaboration scenario described above with respect to media architecture400, according to embodiments. At operation502, 5GMSu Application Provider401creates a provisioning session with 5GMSu AF306using link321. At operation5045GMSu Application Provider401requests, using link321, the 5GMSu AF306to create one Content Publishing Configuration that defines the instructions for content egest. At operation506, 5GMSu AF306, based on the received Content Publishing Configuration, requests the 5GMSu AS305to instantiate the content preparation process using link323. At operation508, 5GMSu AS305instantiates the content preparation process. At operation510, 5GMSu AS305acknowledges to 5GMSu AF306the instantiation of required process using link323. At operation512, 5GMSu AF306acknowledges to 5GMSu Application Provider401the successful creation of the Content Publishing Configuration using link321. At operation514, 5GMSu Application Provider401may provide Service Access Information to the 5GMS-Aware Application302using link328. At operation516, uplink media streaming starts from the 5GMSu Client304to the 5GMSu AS305using link324. At operation518, media streaming egest starts from 5GMSu AS305to the 5GMSu Application Provider401using link322. Then, after time passes and the media streaming ends, at operation520, 5GMSu AS305releases its resources after observing a period of interactivity. In embodiments, operations502-512may be referred to as an uplink provisioning process or uplink provisioning session, and operations516and518may be referred to as an uplink streaming process or uplink streaming session.

FIG.6is a diagram of a media architecture600for media uplink streaming, according to embodiments. As can be seen inFIG.6, media architecture600may be similar to media architecture400, except that 5GMSu AS305may be included in external DN407. In addition, media architecture600may include provisioning module606, which may perform some or all of the functions of 5GMSu AF306, but may not entirely follow 3GPP TS26.501, 3GPP TS26.512, or other 3GPP specifications. In embodiments, provisioning module606may be included in external DN407.

Media architecture600may include interfaces discussed above with respect toFIG.3, and may also include other interfaces. Herein, an interface or API marked with a prime (′) e.g., M1u′ or M2u′, may denote that while that interface or API may functionally map to its 3GPP-defined counterpart (e.g., M1u or M2u), its protocol and format may defined by the 5GMSu Application Provider401, and therefore may not entirely follow 3GPP TS26.501, 3GPP TS26.512, or other 3GPP specifications. The implementation of these interfaces may be determined by, or at the discretion of, 5GMSu Application Provider401. For example, link621may relate to M1u′, which may be a provisioning API exposed by provisioning module606to provision usage of media architecture600and to obtain feedback. In embodiments, M1u′ may be similar to M1u, but may not entirely follow 3GPP specifications. Link622may relate to M2u′, which may be a publish API exposed by 5GMSu AS305and used when 5GMSu AS305in external DN407is selected to receive content for streaming service. In embodiments, M2u′ may be similar to M2u, but may not entirely follow 3GPP specifications.

In embodiments, media architecture600may relate to a collaboration scenario involving a media plane-only collaboration for which 5GMSu AS305is deployed in external DN407, and the 5GMSu AF306is not involved.

FIG.7is a flowchart of example process700corresponding to the collaboration scenario described above with respect to media architecture600, according to embodiments. At operation702, 5GMSu Application Provider401creates a provisioning session with provisioning module606using link621. At operation704, provisioning module606requests the 5GMSu AS305the required process instantiation using link323. At operation706, 5GMSu AS305instantiates the content preparation process. At operation708, 5GMSu AS305acknowledges to provisioning module606the instantiation of required process using link323. At operation710, provisioning module606acknowledges over link621to 5GMSu Application Provider401a successful provisioning. At operation712, 5GMSu Application Provider401may provide Service Access Information to the 5GMS-Aware Application302using link328. At operation714, uplink media streaming starts from 5GMSu Client304to 5GMSu AS305using link324. At operation716, media streaming egest starts from 5GMSu AS305to the 5GMSu Application Provider401using link622. Then, after time passes and the media streaming ends, at operation718, 5GMSu AS305releases its resources after observing a period of interactivity. In embodiments, this operation may be implementation dependent. In embodiments, operations702-710may be referred to as an uplink provisioning process or uplink provisioning session, and operations712and714may be referred to as an uplink streaming process or uplink streaming session.

FIG.8is a diagram of a media architecture600for media uplink streaming, according to embodiments. As can be seen inFIG.8, media architecture800may be similar to media architecture600, except that 5GMSu AS305may be replaced with 5GMSu-like AS805, which may be included in external DN407, and that media architecture800may also include 5GMSu AF306. In embodiments, 5GMSu-like AS805may be in communication with 5GMSu Application Provider404, provisioning module606, and one or more of 5GMSu Client304and Media Streamer310. In embodiments, 5GMSu-like AS805may be similar to 5GMS AS305, but may not entirely follow 3GPP specifications.

Media architecture800may include interfaces discussed above with respect toFIGS.3and6, and may also include other interfaces. For example, link824may relate to M4u′, which may be a Media Uplink Streaming API exposed by 5GMSu-like AS805to Media Streamer310to stream media content. In embodiments, M4u′ may be similar to M4u, but may not entirely follow 3GPP specifications.

In embodiments, media architecture800may relate to a collaboration scenario in which the 5GMSu-like AS805and 5GMSu AF306are present. The 5GMSu-like AS805may reside in external DN407and may not entirely follow 5GMS protocols and formats for uplink media reception from the 5GMSu Client304, or for content egest. The 5GMSu AF306may be used to interact with the 5G System or 5GMS System, e.g., for dynamic policy invocation and/or other uplink streaming related network features such as metrics reporting and network assistance.

FIG.9is a flowchart of example process900corresponding to the collaboration scenario described above with respect to media architecture800, according to embodiments. At operation902, 5GMSu Application Provider401creates a provisioning session with provisioning module606using link621. At operation904, provisioning module606sends a request to the 5GMSu-like AS805for the required process instantiation using link323. At operation906, 5GMSu-like AS805instantiates the content preparation process. At operation908, 5GMSu-like AS805acknowledges to provisioning module606the instantiation of required process using link323. At operation910, provisioning module606acknowledges to 5GMSu Application Provider401a successful provisioning using link621. At operation912, 5GMSu Application Provider401requests the 5GMSu AF306to create one Content Publishing Configuration for content egest using link321. At operation914, 5GMSu Application Provider401may provide Service Access Information to the 5GMS-Aware Application302using link328. At operation916, 5GMS-Aware Application302requests the 5GMSu Client304to start an uplink streaming session using link326and/or link327. At operation918, 5GMSu Client304may request service access information from the 5GSMu AF using link325, for example in a case where operation914was not performed. At operation920, 5GMSu Client304requests start of the uplink streaming session from the 5GSMu AF using link325. At operation911, uplink media streaming starts from the 5GMSu Client304to the 5GMSu-like AS805using link824. At operation924, media streaming egest starts from the 5GMSu-like AS805to the 5GMSu Application Provider401using link622. Then, after time passes and the media streaming ends, at operation926, 5GMSu AS305releases its resources after observing a period of interactivity. In embodiments, this operation may be implementation dependent. In embodiments, operations902-912may be referred to as an uplink provisioning process or uplink provisioning session, and operations920-924may be referred to as an uplink streaming process or uplink streaming session.

FIG.10is a diagram of a media architecture1000for media uplink streaming, according to embodiments. As can be seen inFIG.10, media architecture600may be similar to media architecture400, except that 5GMSu AS305and may be included in external DN407.

FIG.11is a flowchart of example process1100corresponding to the collaboration scenario described above with respect to media architecture1000, according to embodiments. At operation1102, 5GMSu Application Provider401creates a Provisioning Session with the 5GMSu AF306using link621. At operation1104, 5GMSu Application Provider401requests, using link621, the 5GMSu AF306to create one publishing configuration that defines the instructions for content egest. At operation1106, 5GMSu AF306, based on the received publishing configuration, requests the 5GMSu AS305to confirm the availability of content resources for egest using link323. At operation1108, 5GMSu AF306acknowledges to the 5GMSu Application Provider401the successful creation of the publishing configuration using link621. At operation1110, 5GMSu Application Provider401optionally provides Service Access Information to the 5GMS-Aware Application302using link328. At operation1112, 5GMS-Aware Application302requests the 5GMSu Client304to start an uplink streaming session using link326and/or link327. At operation1114, 5GMSu Client304may request service access information from the 5GSMu AF using link325, for example in the case where operation1110was not performed. At operation1116, 5GMSu Client304requests the start of the uplink streaming session from the 5GSMu AF using link325. At operation1118, 5GMSd AF requests instantiation of the content preparation process using link323. At operation1120, 5GMSd AS instantiates the content preparation process if it is not already running using link323. At operation1122, 5GMSd AF acknowledges the instantiation of the content preparation process using link323. At operation1124, uplink media streaming starts from the 5GMSu Client304to the 5GMSu AS305using link324. At operation1126, media streaming egest starts from the 5GMSu AS305to the 5GMSu Application Provider401using link622. Then, after time passes and the media streaming ends, at operation1128, 5GMSu AS305releases its resources after observing a period of interactivity. In embodiments, this operation may be implementation dependent. In embodiments, operations1102-1108may be referred to as an uplink provisioning process or uplink provisioning session, and operations1116-1128may be referred to as an uplink streaming process or uplink streaming session.

Accordingly, embodiments may relate to various uplink streaming collaboration scenarios in which the session is provisioned by the 5GMSu Application Provider401through a 5GMS/proprietary interface through 5GMSu AF306/provisioning module, wherein either a content preparation process is instantiated in 5GMSu AS305or if possible, only resource availability is checked for instantiation of the process at a later stage, wherein the service information is provided to 5GMSu Aware Application302by the 5GMSu Application Provider401through an out of scope interface, wherein if possible the service information can be retrieved again if the standard 5GMS interface is provided between the client and 5GMSu AF306, wherein the client start streaming to 5GMSu AS305or 5GMSu-like AS805through 5GMS/proprietary interface, wherein the media goes through content preparation first and then is provided to 5GMSu Application Provider401through 5GMSu/proprietary interface.

FIG.12is a flowchart of example process1200of content preparation for a media streaming network, for example a 5GMS network. In some implementations, one or more process blocks ofFIG.12may be performed by 5GMSu Application Provider401. In some implementations, one or more process blocks ofFIG.6may be performed by another device or a group of devices separate from or including 5GMSu Application Provider401, such as any of the elements illustrated inFIGS.1-11.

As shown inFIG.12, process1200may include transmitting, by a 5GMS uplink (5GMSu) application provider (AP), a request to create a provisioning session corresponding to 5GMSu streaming using a 5GMS system, wherein the 5GMSu AP is included in an external data network (DN) which is external to the 5GMS system (block1202). In embodiments, the 5GMSu AP may correspond to 5GMSu Application Provider401, and the external DN may correspond to external DN407.

As further shown inFIG.12, process1200may include receiving, by the 5GMSu AP, an acknowledgement corresponding to the provisioning session (block1204).

As further shown inFIG.12, process1200may include performing, by the 5GMSu AP, a 5GMSu egest operation corresponding to the 5GMSu streaming (block1206).

In embodiments, the request may be transmitted to a 5GMSu application function (AF), the acknowledgement may be received from the 5GMSu AF, the 5GMSu egest operation may be performed with a 5GMSu application server (AS), and the 5GMSu AF and the 5GMSu AS may be included in a trusted DN corresponding to the 5GMS system. Further, the 5GMSu AP may be configured to communicate with the 5GMSu AF using a 5GMSu provisioning interface, the 5GMSu AP may be configured to communicate with the 5GMSu AS using a 5GMSu egest interface, and the 5GMSu streaming may be performed by the 5GMSu AS using a 5GMSu media streaming interface. In embodiments, the 5GMSu AF may correspond to 5GMSu AF306, the 5GMSu AS may correspond to 5GMSu AS305, the trusted DN may correspond to trusted DN307, the 5GMSu provisioning interface may correspond to link321, the 5GMSu egest interface may correspond to link322, and the 5GMSu media streaming interface may correspond to link324.

In embodiments, the request may be transmitted to a non-5GMSu provisioning module, the acknowledgement may be received from the non-5GMSu provisioning module, the 5GMSu egest operation may be performed with the 5GMSu AS, and the non-5GMSu provisioning module and the 5GMSu AS may be included in the external DN. Further, the 5GMSu AP may be configured to communicate with the non-5GMSu provisioning module using a non-5GMSu provisioning interface, the 5GMSu AP may be configured to communicate with the 5GMSu AS using a non-5GMSu egest interface, and the 5GMSu streaming may be performed by the 5GMSu AS using the 5GMSu media streaming interface. In embodiments, the non-5GMSu provisioning module may correspond to provisioning module606, the non-5GMSu provisioning interface may correspond to link621, and the non-5GMSu egest interface may correspond to link622.

In embodiments, the request may be transmitted to the non-5GMSu provisioning module, the acknowledgement may be received from the non-5GMSu provisioning module, the 5GMSu egest operation may be performed with a non-5GMSu AS, and the non-5GMSu provisioning module and the non-5GMSu AS may be included in the external DN. Further, the 5GMSu AP may be configured to communicate with the non-5GMSu provisioning module using the non-5GMSu provisioning interface, the 5GMSu AP may be configured to communicate with the non-5GMSu AS using the non-5GMSu egest interface, and the 5GMSu streaming may be performed by the non-5GMSu AS using a non-5GMSu media streaming interface. In embodiments, the non-5GMSu AS may correspond to 5GMSu-like AS805and the non-5GMSu media streaming interface may correspond to link824.

In embodiments, the request may be a first request and the provisioning session may be a non-5GMSu provisioning session, process1200may further include transmitting a second request to the 5GMSu AF to create a 5GMSu provisioning session, and the 5GMSu AP may be configured to communicate with the 5GMSu AF using the 5GMSu provisioning interface.

In embodiments, the request may be transmitted to the 5GMSu AF, the acknowledgement may be received from the 5GMSu AF, the 5GMSu egest operation may be performed with the 5GMSu application server AS, and the 5GMSu AF and the 5GMSu AS may be included in the external DN. Further, the 5GMSu AP may be configured to communicate with the 5GMSu AF using the non-5GMSu provisioning interface, the 5GMSu AP may be configured to communicate with the 5GMSu AS using the non-5GMSu egest interface, and the 5GMSu streaming may be performed by the 5GMSu AS using the 5GMSu media streaming interface.

AlthoughFIG.12shows example blocks of process1200, in some implementations, process600may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted inFIG.12. Additionally, or alternatively, two or more of the blocks of processes1200may be performed in parallel.

Further, the proposed methods may be implemented by processing circuitry (e.g., one or more processors or one or more integrated circuits). In one example, the one or more processors execute a program that is stored in a non-transitory computer-readable medium to perform one or more of the proposed methods.

The techniques described above can be implemented as computer software using computer-readable instructions and physically stored in one or more computer-readable media.

Embodiments of the present disclosure may be used separately or combined in any order. Further, each of the embodiments (and methods thereof) may be implemented by processing circuitry (e.g., one or more processors or one or more integrated circuits). In one example, the one or more processors execute a program that is stored in a non-transitory computer-readable medium.