Method and apparatus for provisioning uplink streaming in a 5G network
The method and apparatus for provisioning uplink streaming in a 5G network address the lack of defined services by enabling the discovery and management of 5GMSu application features, facilitating efficient uplink streaming sessions through session establishment and address exchange, thereby enhancing 5G media streaming architectures.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-31
- Publication Date
- 2026-03-26
Smart Images

Figure 2026509944000001 
Figure 2026509944000002 
Figure 2026509944000003
Abstract
Description
Technical Field
[0001] Cross - reference to Related Applications This application claims priority to U.S. Provisional Application No. 63 / 423,415, filed on November 7, 2022, and U.S. Application No. 18 / 497,341, filed on October 30, 2023, with the United States Patent and Trademark Office, the disclosures of which are hereby incorporated by reference in their entireties.
[0002] This disclosure generally relates to 5th generation (5G) media streaming (5GMS), and more particularly, to methods and apparatuses for provisioning uplink streaming in a 5G network.
Background Art
[0003] 3rd Generation Partnership Project (3GPP) TS26.512 defines the concept of uplink streaming where content is streamed from a device to an external service provider. However, existing streaming architectures do not provide or define how to provision services or features in an uplink streaming session.
Summary of the Invention
Means for Solving the Problems
[0004] According to one or more embodiments, a method performed by at least one processor in a 5G media streaming uplink (5GMSu) application provider includes the step of discovering the address of a 5GMSu application feature (AF). The method further includes the step of establishing a provisioning session with the 5GMSu AF for a 5GMSu session. The method further includes the step of sending a selection of one or more 5GMSu features to the 5GMSu AF during the provisioning session. The method further includes the step of receiving address information for the 5GMSu session from the 5GMSu AF. The method further includes the step of sending a service announcement to a user device (UE) containing address information for the 5GMSu session. The method further includes receiving content in the 5GMSu session from the UE according to the address information.
[0005] According to one or more embodiments, a method performed by at least one processor in a 5G media streaming uplink (5GMSu) application function includes the step of establishing a provisioning session with a 5GMSu application provider for a 5GMSu session. The method further includes the step of receiving a selection of one or more 5GMSu features for the 5GMSu session from the 5GMSu application provider during the provisioning session. The method further includes the step of sending address information relating to the 5GMSu session to the 5GMSu application provider.
[0006] According to one or more embodiments, a 5G media streaming uplink (5GMSu) application provider server comprises: at least one memory configured to store program code; at least one processor configured to read the program code and operate as instructed by the program code; and the program code. The program code includes discovery code configured to cause at least one processor to discover the addresses of 5GMSu application features (AFs). The program code includes establishment code configured to cause at least one processor to establish a provisioning session with a 5GMSu AF for a 5GMSu session. The program code includes first transmit code configured to cause at least one processor to send a selection of one or more 5GMSu features to the 5GMSu AF during the provisioning session. The program code includes first receive code configured to cause at least one processor to receive address information about a 5GMSu session from the 5GMSu AF. The program code includes second transmit code configured to cause at least one processor to send a service announcement containing address information about a 5GMSu session to a user device (UE). The program code further includes a second receive code configured to cause at least one processor to receive the contents of a 5GMSu session from the UE according to address information.
[0007] According to one or more embodiments, a 5G media streaming uplink (5GMSu) application function server comprises 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 includes establishment code configured to cause at least one processor to establish a provisioning session with a 5GMSu application provider for a 5GMSu session. The program code includes reception code configured to cause at least one processor to receive a selection of one or more 5GMSu features about a 5GMSu session during the provisioning session from the 5GMSu application provider. The program code includes transmission code configured to cause at least one processor to transmit address information about the 5GMSu session to the 5GMSu application provider.
[0008] Further features, properties, and various advantages of the subject matter of this disclosure will become clearer in the following detailed description and accompanying drawings. [Brief explanation of the drawing]
[0009] [Figure 1] This figure shows an environment in which the methods, apparatus, and systems described herein may be implemented according to an embodiment. [Figure 2] Figure 1 is a block diagram of one or more exemplary components of a device. [Figure 3] This is a diagram of a media architecture for media uplink streaming according to an embodiment. [Figure 4] This is a diagram illustrating the operational flow for provisioning a 5GMS system for uplink streaming according to an embodiment. [Figure 5] This is a flowchart of an exemplary process performed by the 5GMSu application provider according to the embodiment. [Figure 6] This is a flowchart of an exemplary process performed by the 5GMSu application functionality according to the embodiment. [Modes for carrying out the invention]
[0010] The following detailed description of exemplary embodiments refers to the accompanying drawings. The same reference numerals in different drawings may identify the same or similar elements.
[0011] The foregoing disclosures provide examples and explanations, but are not intended to be exhaustive or to limit implementations to the exact forms disclosed. Modifications and alterations are possible in light of the foregoing disclosures, or may be derived from the practice of implementations. Furthermore, one or more features or components of one embodiment may be incorporated into or combined with another embodiment (or one or more features of another embodiment). In addition, it should be understood that in the flowcharts and descriptions of operations provided below, one or more operations may be omitted, one or more operations may be added, one or more operations may be performed simultaneously (at least partially), and the order of one or more operations may be changed.
[0012] It will be apparent that the systems and / or methods described herein may be implemented in different forms, such as hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods is not limited to the implementation form. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software code, and it is understood that software and hardware may be designed to implement the systems and / or methods based on the descriptions herein.
[0013] Certain combinations of features are described in the claims and / or disclosed herein, but these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features may be combined in ways not specifically described in the claims and / or disclosed in the specification. Each dependent claim listed below may directly depend on only one claim, but the disclosure of possible implementations includes each dependent claim combined with all other claims in the claim set.
[0014] Any element, action, or instruction used herein should not be construed as important or essential unless expressly stated otherwise. Furthermore, where used herein, the articles “a” and “an” are intended to include one or more items and may be used interchangeably with “one or more.” When only one item is intended, the term “one” or similar wording is used. Also, where used herein, terms such as “has,” “have,” “having,” “include,” and “including” are intended to be non-restrictive. Furthermore, the phrase “based on” is intended to mean “at least partially based on” unless otherwise specified. Additionally, expressions such as “at least one of [A] and [B]” or “at least one of [A] or [B]” should be understood to include A only, B only, or both A and B.
[0015] Throughout this specification, any reference to “one embodiment,” “a certain embodiment,” or similar wording means that a particular feature, structure, or characteristic described in relation to the embodiment shown is included in at least one embodiment of the present solution. Therefore, throughout this specification, the phrases “in one embodiment,” “in a certain embodiment,” and similar wording may, but not necessarily, all refer to the same embodiment.
[0016] Furthermore, the features, advantages, and characteristics described herein may be combined in any suitable manner in one or more embodiments. Those skilled in the art will recognize, in light of the description herein, that the disclosure can be carried out even without one or more specific features or advantages of a particular embodiment. In other examples, additional features and advantages may be recognized in certain embodiments that are not present in all embodiments of the disclosure.
[0017] Figure 1 is a diagram of an environment 100 in which the methods, apparatus, and systems described herein may be implemented according to an embodiment. As shown in Figure 1, the environment 100 may include a user device 110, a platform 120, and a network 130. The devices in environment 100 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.
[0018] The user device 110 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information related to the platform 120. For example, the user device 110 may include computing devices (e.g., desktop computers, laptop computers, tablet computers, handheld computers, smart speakers, servers, etc.), mobile phones (e.g., smartphones, wireless phones, etc.), wearable devices (e.g., smart glasses, smartwatches), or similar devices. In some implementations, the user device 110 may receive information from and / or transmit information to the platform 120.
[0019] Platform 120 includes one or more devices as described elsewhere in this specification. In some implementations, platform 120 may include a cloud server, or a group of cloud servers. In some implementations, platform 120 may be modularly designed such that software components can be swapped in or out depending on specific needs. Thus, platform 120 may be easily and / or quickly reconfigured for different uses.
[0020] In some examples, as illustrated, platform 120 may be hosted in a cloud computing environment 122. In particular, the implementations described herein describe platform 120 as being hosted within cloud computing environment 122, although 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.
[0021] Cloud computing environment 122 includes an environment for hosting platform 120. Cloud computing environment 122 may provide services such as computing, software, data access, storage, etc., that do not require end-user (e.g., user device 110) information about the physical location and configuration of one or more systems and / or one or more devices that provide hosting for platform 120. As illustrated, 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").
[0022] Computing resource 124 includes one or more personal computers, workstation computers, server devices, or other types of computing and / or communication devices. In some implementations, computing resource 124 may host platform 120. Cloud resources may include computing instances executed within computing resource 124, storage devices provided within computing resource 124, data transfer devices provided by computing resource 124, and the like. In some implementations, computing resource 124 may communicate with other computing resources 124 via a wired connection, a wireless connection, or a combination of a wired connection and a wireless connection.
[0023] As further shown in FIG. 1, computing resource 124 includes 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, and the like.
[0024] Application 124-1 includes one or more software applications that can be provided to user device 110 and / or platform 120 or accessed by user device 110 and / or platform 120. By using application 124-1, it may not be necessary to install the software application on user device 110 and execute it on user device 110. For example, application 124-1 may include software related to platform 120 and / or any other software that can be provided via cloud computing environment 122. In some implementations, one application 124-1 may send and receive information with one or more other applications 124-1 via virtual machine 124-2.
[0025] The virtual machine 124-2 includes a software implementation of a machine (e.g., a computer) that runs programs like a physical machine. Depending on the intended use of the virtual machine 124-2 and its degree of correspondence to any physical machine, the virtual machine 124-2 may be either a system virtual machine or a process virtual machine. A system virtual machine may provide a complete system platform that supports the execution of a complete operating system (OS). A process virtual machine may run a single program and support a single process. In some implementations, the virtual machine 124-2 may run on behalf of a user (e.g., a user device 110) and may manage the foundation of a cloud computing environment 122, such as data management, synchronization, or long-duration data transfer.
[0026] Virtualized storage 124-3 includes one or more storage systems and / or one or more devices that use virtualization technology within the storage system or device of the computing resource 124. In some implementations, within the context of the storage system, the types of virtualization may include block virtualization and file virtualization. Block virtualization may refer to the abstraction (or separation) of logical storage from physical storage so that the storage system can be accessed whether it is physical storage or heterogeneous. Separation can increase the degree of freedom for the storage system administrator in how end-users manage storage. File virtualization can eliminate the dependency between data being accessed at a given file level and the location where the file is physically stored. This can enable optimization of storage usage, server consolidation, and / or non-destructive file migration.
[0027] The hypervisor 124-4 may provide hardware virtualization technology that enables multiple operating systems (e.g., "guest operating systems") to run simultaneously 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 the virtualized hardware resources.
[0028] Network 130 includes one or more wired and / or wireless networks. For example, Network 130 may include cellular networks (e.g., fifth-generation (5G) networks, long-term evolution (LTE) networks, third-generation (3G) networks, code division multiple access (CDMA) networks, etc.), public land mobile networks (PLMN), local area networks (LANs), wide area networks (WANs), metropolitan area networks (MANs), telephone networks (e.g., public switched telephone networks (PSTNs)), private networks, ad hoc networks, intranets, the Internet, fiber optic-based networks, etc., and / or combinations of these or other types of networks.
[0029] The number and arrangement of devices and networks shown in Figure 1 are illustrative examples. In practice, there may be more devices and / or networks, fewer devices and / or networks, different devices and / or networks, or different arrangements of devices and / or networks compared to those shown in Figure 1. Furthermore, two or more devices shown in Figure 1 may be implemented in a single device, or one device shown in Figure 1 may be implemented as multiple distributed devices. As an addition or alternative, a set of devices in environment 100 (e.g., one or more devices) may perform one or more functions described as being performed by another set of devices in environment 100.
[0030] Figure 2 is a block diagram of exemplary components of one or more devices of Figure 1. Device 200 may correspond to user device 110 and / or platform 120. As shown in Figure 2, device 200 may include a bus 210, a processor 220, memory 230, storage elements 240, input elements 250, output elements 260, and a communication interface 270.
[0031] Bus 210 includes components that enable communication between components of device 200. The processor 220 is implemented in hardware, firmware, or a combination of hardware and software. The processor 220 is a central processing unit (CPU), graphics processing unit (GPU), accelerated processing unit (APU), microprocessor, microcontroller, digital signal processor (DSP), field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), or another type of processing component. In some implementations, the processor 220 includes one or more processors that can be programmed to perform functions. Memory 230 includes 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 used by the processor 220.
[0032] The storage element 240 stores information and / or software related to the operation and use of device 200. For example, the storage element 240 may include a hard disk (e.g., magnetic disk, optical disk, magneto-optical disk and / or solid-state disk), a compact disk (CD), a digital multipurpose disk (DVD), a floppy disk, a cartridge, magnetic tape and / or another type of non-temporary computer-readable media, along with a corresponding drive.
[0033] The input element 250 includes elements that enable the device 200 to receive information, such as via user input (e.g., a touch screen display, keyboard, keypad, mouse, button, switch, and / or microphone). Additionally or alternatively, the input element 250 may include sensors that sense information (e.g., a global positioning system (GPS) element, accelerometer, gyroscope, and / or actuator). The output element 260 includes elements that provide output information from the device 200 (e.g., a display, speaker, and / or one or more light-emitting diodes (LEDs)).
[0034] The communication interface 270 includes transceiver-like components (e.g., transceivers and / or separate receivers and transmitters) that enable device 200 to communicate with other devices via wired connections, wireless connections, or a combination of wired and wireless connections. The communication interface 270 may enable device 200 to receive information from and / or provide information to other devices. For example, the communication interface 270 may include Ethernet interfaces, optical interfaces, coaxial interfaces, infrared interfaces, radio frequency (RF) interfaces, Universal Serial Bus (USB) interfaces, Wi-Fi interfaces, cellular network interfaces, and the like.
[0035] Device 200 may perform one or more processes described herein. Device 200 may perform these processes in response to the processor 220 executing software instructions stored in a non-temporary computer-readable medium such as memory 230 and / or storage element 240. Computer-readable medium is defined herein as a non-temporary memory device. A memory device includes a memory space within a single physical storage device or a memory space that extends across multiple physical storage devices.
[0036] Software instructions may be read into memory 230 and / or storage element 240 from another computer-readable medium or from another device via the communication interface 270. During runtime, the processor 220 may execute one or more processes described herein using the software instructions stored in memory 230 and / or storage element 240. Additionally or alternatively, hardwired circuits may be used instead of, or in combination with, software instructions to execute one or more processes described herein. Therefore, the implementations described herein are not limited to any particular combination of hardware circuits and software.
[0037] The number and arrangement of components shown in Figure 2 are provided as an example. In practice, device 200 may include more elements, fewer elements, different elements, or elements in different arrangements compared to those shown in Figure 2. As an addition or alternative, a set of components of device 200 (e.g., one or more components) may perform one or more functions described as being performed by another set of components of device 200.
[0038] A 5G media streaming (5GMS) system may be a collection of application functions, application servers, and interfaces derived from a 5G media streaming architecture that support either a downlink media streaming service or an uplink media streaming service, or both. A 5GMS application provider may include parties that interact with the functions of the 5GMS system and supply 5GMS-aware applications that interact with the functions of the 5GMS system. A 5GMS-aware application may refer to an application within a user device (UE) provided by a 5GMS application provider that includes the service logic of 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.
[0039] A 5GMSd client may refer to a UE function that includes at least a 5G media streaming player and a media session handler for downlink streaming, and can be accessed via a clearly defined interface / API. A 5GMSu client may refer to a source of a 5GMSu service that can be accessed via a clearly defined interface / API. A 5GMSu media streamer may refer to a UE function that enables uplink delivery of streaming media content to the application server (AS) function of a 5GMS application provider and interacts with both a 5GMSu-aware application for media capture and subsequent streaming, and a media session handler for media session control.
[0040] A dynamic policy may refer to dynamic policy and billing 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 5GMSu application provider. An ingest session may refer to a session for uploading media content to a 5GMSd AS. A policy template may refer to a set of (quasi-static) policies or control function (PCF) / network exposure function (NEF) API parameters specific to a 5GMS application provider, and the resulting PCC rules. A policy template ID may identify a desired policy template, which is used by 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 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 the entry point for an uplink media streaming session. A presentation entry can refer to a document or a pointer to a document that defines an application presentation, such as an HTML5 document.
[0041] Provisioning Session may refer to a data structure supplied at the interface (M1d) by a 5GMSd application provider that constitutes a 5GMSd feature related to a set of 5GMSd-Aware applications. 5GMSd Media Player may refer to a UE function that enables playback and rendering of media presentations based on media playback entries, as well as exposure to 5GMSd-Aware applications of several basic controls such as play, pause, search, and stop. Server Access Information may refer to a set of parameters and addresses (including 5GMSd AF addresses and 5GMSd AS addresses) necessary to activate the acceptance of a streaming session. Service and Content Discovery may refer to functions and procedures provided to 5GMS-Aware applications by 5GMSd application providers that enable end users to discover available streaming services and content offerings and select specific services or content items for access. Service Announcement may refer to a procedure between a 5GMS-Aware application and a 5GMS application provider so that the 5GMS-Aware application can obtain 5GMS service access information directly or in the form of a reference to that information.
[0042] A third-party player may refer to a part of an application that uses an API to execute selected 5GMSd features and thereby plays media content. A third-party uplink streamer may refer to a part of an application that uses an API to execute selected 5GMSu features and thereby ingests and streams media content.
[0043] Figure 3 shows a diagram of a media architecture 300 for media uplink streaming according to an embodiment. A 5GMSu application provider 301 may use 5GMSu for an uplink streaming service. In one or more examples, the uplink streaming service may be a live video streaming session using a social healthcare platform. The 5GMSu application provider 301 may be implemented as a server. The 5GMSu application provider 301 may provide a 5GMSu-aware application 302 on the UE 303 to utilize 5GMSu clients 304 and network functions using interfaces and APIs defined in 5GMSu. The 5GMSu application server (AS) 305 may be an AS dedicated to 5G media uplink streaming. The 5GMSu client 304 may be an internal function of the UE 303 dedicated to 5G media uplink streaming.
[0044] The 5GMSu application function (AF) 306 and 5GMSu AS 305 may also be data network (DN) 307 functions. The 5GMSu AF 306 may be implemented as a server. Functions within a trusted DN can be trusted by the operator's network. Therefore, AFs within a trusted DN may communicate directly with some or all 5G core functions. Functions within an external DN can communicate with 5G core functions only via a network exposure function (NEF) 308 using link 320. The NEF 308 facilitates secure access to the exposed network services and capabilities of the 5G network.
[0045] The media architecture 300 can connect the internal functions of the UE 303 and related network functions for 5G media uplink streaming. Therefore, the media architecture 300 may include several functions. For example, a 5GMSu client 304 on the UE 303 may be the source of 5GMSu services that can be accessed through an interface / API. The 5GMSu client 304 may include two subfunctions, a media session handler 309 and a media streamer 310. The media session handler 309 may communicate with the 5GMSu AF 306 to establish, control, and support the distribution of media sessions. The media session handler 309 may expose an API that can be used by the 5GMSu-aware application 302. The media streamer 310 may communicate with the 5GMSu AS 305 to stream media content, serve the 5GMSu-aware application 302 for media capture and streaming, and serve the media session handler 309 for media session control. The 5GMSu-aware application 302 may control the 5GMSu client 304 by implementing logic specific to an external application or content service provider and enabling the establishment of a media session. The 5GMSu AS 305 may host 5G media functions, for example, by being implemented as a Content Delivery Network (CDN). The 5GMSu application provider 301 may be an external application or content-specific media function (e.g., media storage, consumption, transcoding, and redistribution) that streams media from the 5GMSu-aware application 302 using 5GMSu. The 5GMSu AF 306 may provide various control functions to the media session handler 309 and / or the 5GMSu application provider 301 on the UE 303. The 5GMSu AF 306 may relay or initiate requests for different policy or control function (PCF) 311 processing, or interact with other network functions.
[0046] The media architecture 300 may include several different interfaces. For example, link 321 may be associated with M1u, which may be a 5GMSu provisioning API exposed by 5GMSu AF306 for provisioning use of the media architecture 300 and obtaining feedback. Link 322 may be associated with M2u, which may be a 5GMSu publish API exposed by 5GMSu AS305 and used when a 5GMSu AS305 in a trusted DN such as DN307 is selected to receive content for a streaming service. Link 323 may be associated with M3u, which may be an internal API used to exchange information for content hosting on a 5GMSu AS305 in a trusted DN such as DN307. Link 324 may be associated with M4u, which may be a media uplink streaming API exposed by 5GMSu AS305 to a media streamer 310 for streaming media content. Link 325 may be associated with M5u, which may be a media session handling API exposed to the media session handler by 5GMSu AF305 for processing, controlling, and assisting media sessions, including appropriate security mechanisms (e.g., authorization and authentication). Link 326 may be associated with M6u, which may be a UE303 media session handling API exposed to the 5GMSu-aware application 302 by the media session handler 309 for utilizing 5GMSu features. Link 327 may be associated with M7u, which may be a UE media streamer API exposed to the 5GMSu-aware application 302 and the media session handler 309 by the media streamer 310 for utilizing the media streamer 310.Link 328 may also be associated with M8u, which may be an application API used for information exchange between the 5GMSu-aware application 302 and the 5GMSu application provider 301, for example, to provide service access information to the 5GMSu-aware application 302. UE303 may also be implemented self-contained so that interfaces M6u326 and M7u327 are not exposed.
[0047] The current 5G media streaming architecture only defines a general architecture for uplink and downlink media streaming, and the 5G media streaming architecture for uplink streaming is shown in Figure 3. A general uplink process is defined, but the provisioning process for uplink streaming is not defined.
[0048] Embodiments of this disclosure relate to defining an uplink streaming process. In one or more examples, a downlink streaming provisioning process is extended for uplink streaming. In one or more examples, provisioning may be used to request services for uplink streaming from a 5GMS Uplink (5GMSu) AF. In one or more examples, the 5GMSu AF requests the setup of a content publishing process, including content preparation from the 5GMSu AS. In one or more examples, the 5GMSu AF acknowledges the services set up by the 5GMSu application provider.
[0049] Figure 4 shows an operational flow 400 for provisioning a 5GMS system for uplink streaming according to an embodiment. The operational flow may be executed between a 5GMSu-aware application 402, a 5GMSu client 404, a 5GMSu AF 406, a 5GMSu AS 408, and a 5GMSu application provider 410. The 5GMSu-aware application 402 may correspond to a 5GMSu-aware application 302 (Figure 3). The 5GMSu client 404 may correspond to a 5GMSu client 304 (Figure 3). The 5GMSu AF 406 may correspond to a 5GMSu AF 306 (Figure 3). The 5GMSu AS 408 may correspond to a 5GMSu AS 305 (Figure 3). The 5GMSu application provider 410 may correspond to a 5GMSu application provider 301 (Figure 3).
[0050] In operation 412, an SLA negotiation or self-onboarding procedure may be performed. During this operation, the 5GMSu application provider 410 discovers the address (e.g., URL) of the 5GMSdu AF(M1u) for session provisioning.
[0051] In operation 414, the 5GMSu application provider 410 authenticates itself and the system. In one or more examples, authentication is performed between the 5GMSu application provider 410 and the 5GMSu AF406. This procedure can reuse existing authentication / authorization procedures, such as those defined for the Common API Framework (CAPIF).
[0052] In operation 416, the 5GMSu application provider 410 creates a provisioning session for the uplink streaming session. For example, in operation 416, the 5GMSu application provider 410 sends a message to the 5GMSu AF406 to establish a provisioning session. This message may include an identifier for the 5GMSu application provider 410 identifier as input. In one or more examples, the 5GMSu application provider 410 queries for capabilities and permitted features.
[0053] In operation 418, the 5GMSu application provider 410 specifies one or more 5GMSu features in the provisioning session. In one or more examples, the 5GMSu application provider 410 sends a request or message to the 5GMSu AF406 specifying the selection of one or more 5GMSu features. Based on this request, a set of permitted features is activated, such as content dynamic policy features, network-assisted features, and content publishing features including digest.
[0054] In one or more examples, when a content publishing feature is provided and selected as one of the 5GMSu features, the 5GMS application provider 410 can configure the content publishing behavior of the 5GMSu AS 408, including the selection of the uplink ingest protocol and format, content preparation, and ingest protocol and format. In one or more examples, the content preparation feature allows the 5GMS application provider 410 to specify content manipulation by network-side components of the 5GMS system according to the provisioned content preparation template. If the 5GMSu application provider 410 provisions a content preparation feature for uplink media streaming, network-side components of the 5GMS system can manipulate media content ingested from the 5GMSu client 404 in the UE and cache the manipulated content before discharging it to the 5GMSu application provider 410.
[0055] In one or more examples, a dynamic policy feature is provided and, when selected as one of the 5GMSu features, the 5GMSu application provider 410 can specify a set of policies that may be invoked for an uplink streaming session. In one or more examples, the UE becomes aware of the selected policies in the form of a list of valid policy template IDs. In one or more examples, once the dynamic policy feature is activated, the 5GMSu application provider 410 can provision one or more policy templates.
[0056] In one or more examples, edge computing features are provided and, when selected as one of the 5GMSu features, the 5GMSu application provider 410 may provide one or more edge resource configurations that can be used to support either client-driven or application provider-driven management of edge resources associated with a provisioning session.
[0057] In one or more examples, network-assisted features allow a 5GMS client within the UE to query or manipulate network quality of service for an ongoing media streaming session. For example, network-assisted features allow the UE to receive bitrate recommendations from a 5GMSu AF406 that provides network-assisted server features. The 5GMS AF406 can use Npcf_PolicyAuthorization notifications or Nnef_MonitoringEvent procedures to receive notifications of network QoS changes (e.g., throughput estimates, bitrate recommendations). The 5GMS AF406 may receive these policy change notifications asynchronously.
[0058] In operation 420, once the content publishing feature is selected, 5GMSu AF406 can perform operation 420A and interact with 5GMSu AS408 to allocate resources for the M2u digest protocol and format. Subsequently, in operation 420B, 5GMSu AS408 responds with the M2u address.
[0059] In operation 422, the 5GMSu AF406 performs one or more provisioning operations. For example, in operation 422A, the 5GMSu AF406 compiles service access information. The service access information may include access details and options such as a provisioning session identifier, the M5u (Media Session Handling) address of the uplink entry point, dynamic policies, and network assistance. In one or more examples, the service access information may include a set of parameters and addresses required by the 5GMS client to activate receiving downlink media streaming sessions or sending on uplink media streaming sessions, perform dynamic policy calls, consumption reporting, and / or metric reporting, and request AF-based network assistance.
[0060] In operation 422B, the provisioned parameters and addresses are provided to the 5GMSu application provider 410. For example, the 5GMSu AF 406 can provide the 5GMSu application provider 410 with the results of the compiled service access information. In one or more examples, if the 5GMSu application provider selects full service access information, the results are provided in the form of M2u (egest), M5u (media session handling), and M4u (media uplink streaming) addresses and configurations. In one or more examples, if the 5GMSu application provider delegates service access information handling to the 5GMS system, a reference to the service access information (e.g., URL) is provided. The media session handler 309 (Figure 3) later fetches the full service access information from the 5GMSu AF.
[0061] In operation 424, when a content publishing feature is provided and selected in operation 418, the 5GMSu application provider 410 can initiate content retrieval from the 5GMSu AS408 via the M2u digest interface.
[0062] In operation 426, the 5GMSu application provider 410 performs a service announcement and updates the UE during the lifetime of the provisioning session. For example, the 5GMSu application provider 410 sends a service announcement message to the 5GMSu-aware application 402. In one or more examples, the service announcement message may include the provisioned parameters and / or addresses received in operation 422B.
[0063] In operation 428, the 5GMSu application provider 410 can update the provisioning session. For example, the 5GMSu application provider 410 can send a message to the 5GMSu AF406 with one or more updated parameters of the provisioning session.
[0064] In operation 430, the 5GMSu application provider 410 can terminate the provisioning session. For example, the 5GMSu application provider 410 can send a message to the 5GMSu 406 requesting that the provisioning session be terminated. In one or more examples, the provisioning session may be terminated at any time. In one or more examples, the provisioning session may be terminated at a scheduled time or when certain conditions are met (e.g., network quality falls below a threshold). In one or more examples, when the provisioning session is terminated, all associated resources of the provisioning session may be released and the content may be removed from the 5GMSu AS 408. The 5GMSu application provider 410 can configure a schedule for terminating the provisioning session.
[0065] In operation 432, the 5GMSu AF sends a notification to the 5GMSu application provider 410 indicating that the provisioning session has ended.
[0066] According to the embodiment, the 5GMSu AF406 can request the creation or reuse of one or more network slices for ingesting the content of a provisioned session. In one or more examples, if two or more network slices are provisioned for ingesting the session content, a list of permitted single network slice selection assistance (S-NSSAI) may be communicated to the target UE (e.g., via UE Route Selection Policy (URSP) or M5u or M8u).
[0067] According to the embodiment, a method for provisioning uplink streaming in a 5G network using a 5G media streaming architecture includes provisioning services, including setting up an application server, a content preparation process, and the use of protocols for uplink and edest, with dynamic policies and edge computing resources defined in the request from an external application service provider. The wireless operator's application function (AF) searches for or instantiates an application server (AS) to respond to the reception of an uplink stream and processes it based on a content preparation template provided by the application service provider and a push or pull interface for publishing / requesting the processed uplink content from the application service provider. Uplink entry point information may also optionally be transferred to a device to initiate uplink streaming.
[0068] Figure 5 is a flowchart of an exemplary process 500 executed by a 5GMSu application provider according to an embodiment. Process 500 may be executed by 5GMSu application provider 301 or 5GMSu application provider 410.
[0069] The process may begin in operation S502, in which the address of 5GMSu AF is discovered. The address may be discovered according to operation 412 (Figure 4) described above.
[0070] The process proceeds to operation S504, where a provisioning session with the 5GMSu AF is created for the uplink steaming session. For example, the provisioning session may be created according to operation 416 (Figure 4) described above, in which the 5GMSu application provider 410 sends a message to the 5GMSu AF 406 to establish the provisioning session. This message may include an identifier for the 5GMSu application provider 410 identifier as input.
[0071] The process proceeds to operation S506, where a selection of one or more 5GMSu features is sent during the provisioning session. For example, a 5GMSu application provider 410 may select one or more 5GMSu features according to operation 416 (Figure 4) described above, and the 5GMSu application provider 410 sends a message to 5GMSu AF406 along with the selection of one or more 5GMSu features (e.g., dynamic content policy; network assistance, content publishing, etc.).
[0072] The process proceeds to operation S508, where address information regarding the uplink media streaming session is received from 5GMSu AF. For example, 5GMSu application provider 410 receives service access information from 5GMSu AF 406 according to operation 422B (Figure 4) described above.
[0073] The process proceeds to operation S510, where a service announcement is sent to the 5GMSu-aware application within the UE. For example, application provider 410 sends a service announcement to 5GMSu-aware application 402 according to operation 426 (Figure 4) described above.
[0074] The process proceeds to operation S512, where content is received from the UE's 5GMSu client in the uplink streaming session. The content may be uploaded to 5GMSu AS408 according to the address information included in the service announcement. In one or more examples, the content uploaded to 5GMSu AS408 may be provided to 5GMSu application provider 410 according to a push or pull method. In the push method, 5GMSu AS408 provides (e.g., pushes) the content uploaded during the uplink streaming session to 5GMSu application provider 410. In the pull method, 5GMSu application provider 410 retrieves (e.g., pulls) the content uploaded during the uplink streaming session from 5GMSu AS408.
[0075] Figure 6 is a flowchart of an exemplary process 600 performed by a 5GMSu AF according to an embodiment. Process 600 may be performed by a 5GMSu AF306 (Figure 3) or a 5GMSu AF406 (Figure 4).
[0076] The process may be initiated in operation S602, where a provisioning session with the 5GMSu application provider is created for the uplink streaming session. For example, the provisioning session may be created according to operation S416 (Figure 4) described above.
[0077] The process may proceed to operation S604, where a selection of one or more 5GMSu features is received during the provisioning session. For example, 5GMSu AF406 receives a selection of one or more 5GMSu features according to operation 418 (Figure 4) described above.
[0078] The process proceeds to operation S606, where address information for the uplink streaming session is sent to the 5GMSu application provider. For example, 5GMSu AF406 sends the provisioned parameters and address as address information to the 5GMSu application provider 410, in accordance with operation 422B (Figure 4) described above.
[0079] Furthermore, the proposed methods may be carried out by processing circuits (e.g., one or more processors or one or more integrated circuits). In one embodiment, one or more of the proposed methods are carried out by executing a program stored in a non-temporary computer-readable medium using one or more processors.
[0080] The techniques described above may be implemented as computer software using computer-readable instructions and may be physically stored on one or more computer-readable media.
[0081] The embodiments of this disclosure may be used individually or in any combination of any order. Furthermore, each of the embodiments (and methods thereof) may be implemented by a processing circuit (e.g., one or more processors or one or more integrated circuits). In one example, one or more processors execute a program stored in a non-temporary computer-readable medium.
[0082] While the foregoing disclosures provide examples and explanations, they are not intended to be exhaustive or to limit implementations to the exact forms disclosed. Modifications and adaptations are possible in light of the foregoing disclosures, or may be derived from the practice of implementations.
[0083] As used herein, the terminology is intended to be interpreted broadly as hardware, firmware, or a combination of hardware and software.
[0084] While combinations of features are described in the claims and / or disclosed herein, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features may be combined in ways not specifically described in the claims and / or disclosed in the specification. Each dependent claim listed below may directly depend on only one claim, but the disclosure of possible implementations includes each dependent claim combined with all other claims in the claim set.
[0085] Any elements, actions, or instructions used herein should not be construed as important or essential unless expressly stated otherwise. Furthermore, where used herein, the articles “a” and “an” are intended to include one or more items and may be used interchangeably with “one or more.” Additionally, as used herein, “set” is intended to include one or more things (e.g., related things, unrelated things, combinations of related and unrelated things) and may also be used in the sense of “one or more.” When only one item is intended, the term “one” or similar words should be used. Furthermore, terms such as “has,” “have,” and “having” as used herein are intended to be open-ended terms. Additionally, the phrase “based on” is intended to mean “at least partially based on” unless otherwise specified.
[0086] The above disclosure also includes the embodiments listed below.
[0087] (1) A method performed by at least one processor in a 5G media streaming uplink (5GMSu) application provider, comprising: discovering the address of a 5GMSu application function (AF); establishing a provisioning session with the 5GMSu AF for a 5GMSu session; sending a selection of one or more 5GMSu features to the 5GMSu AF during the provisioning session; receiving address information relating to the 5GMSu session from the 5GMSu AF; sending a service announcement to a user device (UE) containing address information relating to the 5GMSu session; and receiving content in the 5GMSu session from the UE according to the address information.
[0088] (2) The method according to feature (1), wherein one or more 5GMSu features include a content publishing feature, and the 5GMSu application provider specifies one or more content publishing feature parameters including at least one of (i) an uplink ingest protocol and format, (ii) content preparation, and (iii) an ingest protocol and format.
[0089] (3) The method according to feature (2), wherein, based on the selection of content publishing features, the 5GMSu AF allocates resources for the M2u digest protocol and format with the 5GMSu application server (AS), and the 5GMSu AF receives the M2u address from the 5GMSu AS.
[0090] (4) The method according to any one of features (1) to (3), wherein one or more 5GMSu features include a dynamic policy feature that includes one or more dynamic policy feature policies for a 5GMSu session.
[0091] (5) The method according to any one of features (1) to (4), wherein one or more 5GMSu features include edge computing features, and the 5GMSu application provider specifies one or more edge resource configurations including at least one of client-driven managed edge resources and application provider-driven managed edge resources.
[0092] (6) A method according to any one of features (1) to (5), wherein, based on the step of receiving a selection of one or more 5GMSu features, the 5GMSu AF compiles service access information including an M5u address for an uplink entry point.
[0093] (7) The method according to feature (6), wherein the 5GMSu application provider receives an M5u address for an uplink entry point when the 5GMSu application provider selects the full service access information feature.
[0094] (8) The method according to feature (6), wherein the 5GMSu application provider receives a reference to an M5u address for an uplink entry point when the 5GMSu application provider selects a delegated service access information feature.
[0095] (9) A method according to any one of features (1) through (8), wherein, based on a service announcement, the UE's 5GMSu sends content to the 5GMSu AS, and the 5GMSu application provider retrieves the content from the 5GMSu AS.
[0096] (10) The method according to any one of features (1) to (9), further comprising the step of sending a provisioning session termination message to 5GMSu AF to terminate the provisioning session.
[0097] (11) A method performed by at least one processor in a 5G media streaming uplink (5GMSu) application function, comprising: establishing a provisioning session with a 5GMSu application provider for a 5GMSu session; during the provisioning session, receiving a selection of one or more 5GMSu features for the 5GMSu session from the 5GMSu application provider; and transmitting address information relating to the 5GMSu session to the 5GMSu application provider.
[0098] (12) The method according to feature (11), wherein one or more 5GMSu features include a content exposure feature, and the 5GMSu application provider specifies one or more content exposure feature parameters including at least one of (i) an uplink ingest protocol and format, (ii) content preparation, and (iii) an ingest protocol and format.
[0099] (13) Based on the selection of content publishing features, the 5GMSu AF allocates resources for the M2u digest protocol and format with the 5GMSu application server (AS), and the 5GMSu AF receives the M2u address from the 5GMSu AS, as described in feature (12).
[0100] (14) The method according to any one of features (11) to (14), wherein one or more 5GMSu features include a dynamic policy feature that includes one or more dynamic policy feature policies for a 5GMSu session.
[0101] (15) The method according to any one of features (11) to (14), wherein one or more 5GMSu features include edge computing features, and the 5GMSu application provider specifies one or more edge resource configurations including at least one of client-driven managed edge resources and application provider-driven managed edge resources.
[0102] (16) A method by which, based on the step of receiving a selection of one or more 5GMSu features, the 5GMSu AF compiles service access information including an M5u address for an uplink entry point, according to any one of features (11) to (15).
[0103] (17) The method according to feature (16), wherein the 5GMSu application provider receives an M5u address for an uplink entry point when the 5GMSu application provider selects the full service access information feature.
[0104] (18) The method according to feature (16), wherein the 5GMSu application provider receives a reference to an M5u address for an uplink entry point when the 5GMSu application provider selects a delegated service access information feature.
[0105] (19) A 5G media streaming uplink (5GMSu) application provider server comprising 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, wherein the program code comprises: discovery code configured to cause at least one processor to discover the address of a 5GMSu application function (AF); establishment code configured to cause at least one processor to establish a provisioning session with a 5GMSu AF for a 5GMSu session; first transmit code configured to cause at least one processor to transmit a selection of one or more 5GMSu features to the 5GMSu AF during the provisioning session; and at least one processor to A 5G media streaming uplink (5GMSu) application provider server comprising a processor including: a first receive code configured to receive address information relating to a 5GMSu session from an AF; a second transmit code configured to cause at least one processor to send a service announcement containing address information relating to a 5GMSu session to a user device (UE); and a second receive code configured to cause at least one processor to receive content of a 5GMSu session from the UE according to the address information.
[0106] (20) A 5G media streaming uplink (5GMSu) application function server comprising: at least one memory configured to store program code; at least one processor configured to read program code and operate as instructed by the program code, wherein the program code includes: establish code configured to cause at least one processor to establish a provisioning session with a 5GMSu application provider for a 5GMSu session; receive code configured to cause at least one processor to receive a selection of one or more 5GMSu features about a 5GMSu session during the provisioning session from the 5GMSu application provider; and transmit code configured to cause at least one processor to transmit address information about a 5GMSu session to the 5GMSu application provider; [Explanation of symbols]
[0107] 100 Environment 110 User Devices 120 platforms 122 Cloud Computing Environment 124 Computing Resources 124-1 Application 124-2 Virtual Machine 124-3 Virtualized Storage 124-4 Hypervisor 130 Networks 200 devices 210 Bus 220 processors 230 memory 240 memory elements 250 input elements 260 output elements 270 Communication Interfaces 300 Media Architectures 301 5GMSu Application Provider 302 5GMSu Aware Application 304 5GMSu client 309 Media Session Handler 310 Media Streamers 320 links 321 links 322 links 323 links 324 links 325 links 326 links 327 links 328 links 400 Operation Flow 402 5GMSu Aware Application 404 5GMSu client 410 5GMSu Application Provider 500 processes 600 processes
Claims
1. A method performed by at least one processor within a 5G media streaming uplink (5GMSu) application provider, Steps to discover the address of the 5GMSu application function (AF), The steps include establishing a provisioning session with the 5GMSu AF for the 5GMSu session, During the provisioning session, the step of sending a selection of one or more 5GMSu features to the 5GMSu AF, The steps include receiving address information relating to the 5GMSu session from the 5GMSu AF, The steps include sending a service announcement containing the address information relating to the 5GMSu session to the user equipment (UE), The steps include receiving content in the 5GMSu session from the aforementioned UE according to the address information, Methods that include...
2. The one or more of the aforementioned 5GMSu features include a content publishing feature, The method according to claim 1, wherein the 5GMSu application provider specifies one or more content publishing feature parameters, including at least one of (i) an uplink ingest protocol and format, (ii) content preparation, and (iii) an ingest protocol and format.
3. The method according to claim 2, wherein, based on the selection of the content publishing features, the 5GMSu AF allocates resources for the M2u digest protocol and format with the 5GMSu application server (AS), and the 5GMSu AF receives an M2u address from the 5GMSu AS.
4. The method according to claim 1, wherein the one or more 5GMSu features include a dynamic policy feature that includes one or more dynamic policy feature policies for the 5GMSu session.
5. The one or more 5GMSu features include edge computing features, The method according to claim 1, wherein the 5GMSu application provider specifies one or more edge resource configurations, each including at least one of client-driven managed edge resources and application provider-driven managed edge resources.
6. The method according to claim 1, wherein, based on the step of receiving the selection of one or more 5GMSu features, the 5GMSu AF compiles service access information including an M5u address for an uplink entry point.
7. The method according to claim 6, wherein the 5GMSu application provider receives the M5u address for the uplink entry point when the 5GMSu application provider selects a full-service access information feature.
8. The method according to claim 6, wherein the 5GMSu application provider receives a reference to the M5u address for the uplink entry point when the 5GMSu application provider selects a delegated service access information feature.
9. The method according to claim 1, wherein, based on the service announcement, the UE's 5GMSu transmits the content to the 5GMSu AS, and the 5GMSu application provider retrieves the content from the 5GMSu AS.
10. The step of sending a provisioning session termination message to the 5GMSu AF to terminate the provisioning session. The method according to claim 1, further comprising:
11. A method by which at least one processor performs a 5G media streaming uplink (5GMSu) application function, Steps to establish a provisioning session with the 5GMSu application provider for the 5GMSu session, During the provisioning session, the 5GMSu application provider selects one or more 5GMSu features for the 5GMSu session. The steps include sending address information relating to the 5GMSu session to the 5GMSu application provider, Methods that include...
12. The one or more 5GMSu features include a content disclosure feature, The method according to claim 11, wherein the 5GMSu application provider specifies one or more content publishing feature parameters, including at least one of (i) an uplink ingest protocol and format, (ii) content preparation, and (iii) an ingest protocol and format.
13. The method according to claim 12, wherein, based on the selection of the content publishing features, the 5GMSu AF allocates resources for the M2u digest protocol and format with the 5GMSu application server (AS), and the 5GMSu AF receives an M2u address from the 5GMSu AS.
14. The method according to claim 11, wherein the one or more 5GMSu features include a dynamic policy feature that includes one or more dynamic policy feature policies for the 5GMSu session.
15. The one or more 5GMSu features include edge computing features, The method according to claim 11, wherein the 5GMSu application provider specifies one or more edge resource configurations, including at least one of client-driven managed edge resources and application provider-driven managed edge resources.
16. The method according to claim 11, wherein, based on the step of receiving the selection of one or more 5GMSu features, the 5GMSu AF compiles service access information including an M5u address for an uplink entry point.
17. The method according to claim 16, wherein the 5GMSu application provider receives the M5u address for the uplink entry point when the 5GMSu application provider selects a full-service access information feature.
18. The method according to claim 16, wherein the 5GMSu application provider receives a reference to the M5u address for the uplink entry point when the 5GMSu application provider selects a delegated service access information feature.
19. A 5G media streaming uplink (5GMSu) application provider server configured to perform the method described in any one of claims 1 to 10.
20. A computer program for causing a computer to perform the method described in any one of claims 1 to 10.
21. A 5G media streaming uplink (5GMSu) application function server configured to perform the method described in any one of claims 11 to 18.
22. A computer program for causing a computer to perform the method described in any one of claims 11 to 18.
Citation Information
Patent Citations
Systems and methods for application-friendly protocol data unit (PDU) session management
JP2019536305A
Method, apparatus and medium for preparing media streaming content for application providers in 5G networks
JP2023521713A
Network-based media processing (NBMP) deployment with framework for live uplink streaming (FLUS) and 5g application function (AF)
WO2022119617A1
Methods for media streaming content preparation for an application provider in 5g networks
WO2022197330A1
Method and apparatus for defining egest configuration and protocols in 5g uplink streaming
WO2022211850A1