Methods for discovery of media capabilities at the 5G edge
The method and system address the lack of standardized detection of media processing capabilities in 5G edge architectures by enabling detailed media capability discovery and management, optimizing media streaming through 5G edge networks.
Patent Information
- Application Number
- JP2024037846
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-03-26
- Filing Date
- 2024-03-12
- Publication Date
- 2025-11-17
- Estimated Expiration
- 2041-04-15
AI Technical Summary
Current 5G edge architectures lack a standardized solution for detecting media processing capabilities beyond raw hardware resources, including environmental characteristics and media-specific functionalities, which are crucial for effective media streaming.
A method and system for discovering and managing media streaming capabilities of a 5G edge network by an external application server, involving capability request and response, media processing workflow establishment, and streaming media content based on determined capabilities.
Enables efficient deployment and utilization of edge and network resources for media streaming by providing detailed media processing capabilities, enhancing the performance and flexibility of media streaming services.
Smart Images

Figure 0007771248000014 
Figure 0007771248000015 
Figure 0007771248000016
Abstract
Description
[Technical Field]
[0001] [CROSS-REFERENCE TO RELATED APPLICATIONS] This application claims priority in the United States Patent and Trademark Office from U.S. Provisional Application No. 63,021,411, filed May 7, 2020, U.S. Provisional Application No. 63,066,692, filed August 17, 2020, U.S. Provisional Application No. 63,075,461, filed September 8, 2020, U.S. Provisional Application No. 63,026,432, filed May 18, 2020, U.S. Provisional Application No. 63,052,104, filed July 15, 2020, and U.S. Application No. 17 / 213,679, filed March 26, 2021, the disclosures of which are incorporated herein by reference in their entireties.
[0002] Embodiments of the present disclosure are directed to media processing and streaming methods and systems, and more particularly to discovery of network processing capabilities of a 5G edge network by an external application server, which allows the external application server to know about the current capabilities of the 5G network before requesting to set up network-based processing. [Background technology]
[0003] Network and cloud platforms are used to run a variety of applications, but there is no standards-based solution to describe the characteristics of a network or cloud platform or its elements.
[0004] The 3rd Generation Partnership Project (3GPP) TS 26.501 defines the workflow for external application servers to establish network processing in 5G networks for uplink and downlink streaming applications.
[0005] The European Telecommunications Standards Institute (ETSI) Multi-Access Edge Computing (MEC) standard defines an architecture for instantiating, running, and managing applications on cloud platforms.
[0006] The current 5G edge architecture defined in 3GPP TS23.558 only defines the general architecture and detection of edge server hardware capabilities. It does not address edge server capability detection for media processing, which goes beyond raw hardware capabilities, nor does it address the environmental characteristics of edge servers.
[0007] In the NBMP standard, an NBMP source is an entity that provides a workflow description to a workflow manager to create, execute, manage, and monitor media workflows. The interaction between an NBMP source and a workflow manager is via a set of NBMP operation APIs.
[0008] In the 5G Streaming Media Architecture (5GMSA), a source device for a media stream establishes an uplink session with an Application Function / Application Server (AF / AS) pair in the network, and a receiving device also establishes a downlink session with the AF / AS to stream / download content from the network.
[0009] However, there is no edge computing architecture in the 5GMSA that enables the deployment of network and edge processing or split rendering of media streaming using edge and network resources. Summary of the Invention
[0010] According to one or more embodiments, a method for managing capabilities of a media streaming network using at least one processor includes receiving a capability request for media streaming capabilities of an edge data network (EDN); determining the media streaming capabilities of the EDN; sending a capability response based on the determined media streaming capabilities; receiving a media processing workflow request based on the capability response; establishing a media streaming session according to the media processing workflow request; and streaming media content based on the media streaming session.
[0011] According to one or more embodiments, a device for managing functionality of a media streaming network includes at least one memory configured to store program code; and at least one processor configured to read the program code and operate as directed by the program code, the program code including: a first receiving code configured to cause the at least one processor to receive a functionality request for media streaming functionality of an edge data network (EDN); a determining code configured to cause the at least one processor to determine the media streaming functionality of the EDN; a first sending code configured to cause the at least one processor to send a functionality response based on the determined media streaming functionality; a second receiving code configured to cause the at least one processor to receive a media processing workflow request based on the functionality response; an establishing code configured to cause the at least one processor to establish a media streaming session according to the media processing workflow request; and a streaming code configured to cause the at least one processor to stream media content based on the media streaming session.
[0012] According to one or more embodiments, a non-transitory computer-readable medium storing instructions, the instructions including one or more instructions that, when executed by one or more processors of a device for managing functionality of a media streaming network, cause the one or more processors to: receive a capability request for media streaming functionality of an edge data network (EDN); determine the media streaming functionality of the EDN; send a capability response based on the determined media streaming functionality; receive a media processing workflow request based on the capability response; establish a media streaming session according to the media processing workflow request; and stream media content based on the media streaming session. [Brief explanation of the drawings]
[0013] Further features, nature and various advantages of the disclosed subject matter will become more apparent from the following detailed description and accompanying drawings.
[0014] [Figure 1] FIG. 1 is a diagram of an environment in which the methods, devices, and systems described herein may be implemented, according to an embodiment.
[0015] [Figure 2] FIG. 2 is a block diagram of example components of one or more devices of FIG. 1.
[0016] [Figure 3] FIG. 1 is a block diagram of a network architecture for media streaming, according to an embodiment.
[0017] [Figure 4] FIG. 1 is a block diagram of a network architecture for media streaming, according to an embodiment.
[0018] [Figure 5]FIG. 1 is a block diagram of a network architecture for media streaming, according to an embodiment.
[0019] [Figure 6] FIG. 1 is a block diagram illustrating an exemplary process for network capability detection, according to an embodiment.
[0020] [Figure 7] FIG. 1 is a block diagram illustrating an exemplary process for network capability detection, according to an embodiment.
[0021] [Figure 8] FIG. 1 is a block diagram of a network architecture for media streaming, according to an embodiment.
[0022] [Figure 9] FIG. 1 is a block diagram illustrating an exemplary process for network capability detection, according to an embodiment.
[0023] [Figure 10] FIG. 1 is a block diagram of a network architecture for media streaming, according to an embodiment.
[0024] [Figure 11] FIG. 1 is a block diagram of a network architecture for media streaming, according to an embodiment.
[0025] [Figure 12] FIG. 1 is a block diagram of a network architecture for media streaming, according to an embodiment.
[0026] [Figure 13] FIG. 1 is a block diagram illustrating an exemplary process for network capability detection, according to an embodiment.
[0027] [Figure 14]FIG. 1 is a block diagram of a network architecture for media streaming, according to an embodiment.
[0028] [Figure 15] FIG. 1 is a block diagram of a network architecture for media streaming, according to an embodiment.
[0029] [Figure 16] FIG. 1 is a block diagram illustrating an exemplary process for network capability detection, according to an embodiment.
[0030] [Figure 17] FIG. 1 is a block diagram illustrating an exemplary process for network capability detection, according to an embodiment.
[0031] [Figure 18] FIG. 1 is a block diagram illustrating an exemplary process for network capability detection, according to an embodiment.
[0032] [Figure 19] FIG. 1 is a block diagram of a network architecture for media streaming, according to an embodiment.
[0033] [Figure 20] FIG. 1 is a block diagram of a network architecture for media streaming, according to an embodiment.
[0034] [Figure 21] FIG. 1 is a block diagram of a network architecture for media streaming, according to an embodiment.
[0035] [Figure 22] FIG. 1 is a block diagram of a network architecture for media streaming, according to an embodiment.
[0036] [Figure 23]FIG. 1 is a block diagram of a network architecture for media streaming, according to an embodiment.
[0037] [Figure 24] 1 is a flowchart of an exemplary process for managing functionality of a media streaming network, according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0038] 1 is a diagram of an environment 100 in which the methods, devices, and systems described herein may be implemented, according to an embodiment. As shown in FIG. 1, environment 100 may include a user device 110, a platform 120, and a network 130. The devices of environment 100 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.
[0039] User device 110 includes one or more devices that can receive, generate, store, process, and / or provide information related to platform 120. For example, user device 110 may include a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a smart speaker, a server, etc.), a mobile phone (e.g., a smartphone, a wireless phone, etc.), a wearable device (e.g., smart glasses or a smartwatch), or a similar device. In some implementations, user device 110 may receive and / or transmit information from platform 120.
[0040] Platform 120 includes one or more devices, as described elsewhere herein. In some implementations, platform 120 may include a cloud server or a group of cloud servers. In some implementations, platform 120 may be designed to be modular, such that software components can be swapped in or out depending on particular needs. As such, platform 120 may be easily and / or quickly reconfigured for different uses.
[0041] In some implementations, as shown, platform 120 may be hosted in a cloud computing environment 122. In particular, although the implementations described herein describe platform 120 as being hosted in a cloud computing environment 122, in some implementations platform 120 may not be cloud-based (i.e., may be implemented outside of a cloud computing environment) or may be partially cloud-based.
[0042] Cloud computing environment 122 includes an environment that hosts platform 120. Cloud computing environment 122 may provide services such as computation, software, data access, storage, etc., without requiring end users (e.g., user devices 110) to have knowledge of the physical location and configuration of the system(s) and / or device(s) that host platform 120. As shown, cloud computing environment 122 may include a group of computing resources 124 (collectively referred to as “computing resources 124” and individually referred to as “computing resource 124”).
[0043] Computing resources 124 include one or more personal computers, workstation computers, server devices, or other types of computing and / or communication devices. In some implementations, computing resources 124 may host platform 120. Cloud resources may include compute instances running on computing resources 124, storage devices provided on computing resources 124, data transfer devices provided by computing resources 124, etc. In some implementations, computing resources 124 may communicate with other computing resources 124 via wired connections, wireless connections, or a combination of wired and wireless connections.
[0044] As further shown in FIG. 1, computing resources 124 include 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, and one or more hypervisors (“HYPs”) 124-4.
[0045] Application 124-1 includes one or more software applications that may be provided to or accessed by user device 110 and / or platform 120. Application 124-1 may eliminate the need to install and run a software application on user device 110. For example, application 124-1 may include software associated with platform 120 and / or any other software that may be provided via cloud computing environment 122. In some implementations, one application 124-1 may send or receive information to one or more other applications 124-1 via virtual machine 124-2.
[0046] Virtual machine 124-2 includes a software implementation of a machine (e.g., a computer) that executes programs like a physical machine. Virtual machine 124-2 can be either a system virtual machine or a process virtual machine, depending on the extent to which virtual machine 124-2 uses and corresponds to any real 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 execute a single program and support a single process. In some implementations, virtual machine 124-2 may run on behalf of a user (e.g., user device 110) and manage the infrastructure of cloud computing environment 122, such as data management, synchronization, or long-term data transfer.
[0047] Virtualized storage 124-3 includes one or more storage systems and / or one or more devices that use virtualization techniques within the storage systems or devices of computing resources 124. In some implementations, within the context of a storage system, types of virtualization may include block virtualization and file virtualization. Block virtualization may refer to the abstraction (or separation) of logical storage from physical storage so that the storage system may be accessed regardless of the physical storage or heterogeneous structure. This separation may allow storage system administrators flexibility in how they manage storage for end users. File virtualization may eliminate the dependency between data accessed at the file level and where the file is physically stored. This may enable performance optimization of storage usage, server consolidation, and / or non-disruptive file migration.
[0048] The hypervisor 124-4 may provide hardware virtualization technology that allows multiple operating systems (e.g., "guest operating systems") to run simultaneously on a host computer, such as the 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 different operating systems may share virtualized hardware resources.
[0049] Network 130 may include one or more wired and / or wireless networks. For example, network 130 may include a cellular network (e.g., a fifth-generation (5G) network, a long-term evolution (LTE) network, a third-generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., a public switched telephone network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, an optical fiber-based network, etc., and / or a combination of these or other types of networks.
[0050] The number and arrangement of devices and networks shown in Figure 1 are provided as an example. In practice, there may be additional, fewer, different, or differently arranged devices and / or networks than those shown in Figure 1. Furthermore, two or more devices shown in Figure 1 may be implemented within a single device, or a single device shown in Figure 1 may be implemented as multiple distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of environment 100 may perform one or more functions that are described as being performed by another set of devices of environment 100.
[0051] Figure 2 is a block diagram of example 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, a memory 230, a storage component 240, an input component 250, an output component 260, and a communication interface 270.
[0052] Bus 210 includes components that enable communication between the components of device 200. Processor 220 is implemented in hardware, firmware, or a combination of hardware and software. Processor 220 is 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, 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 for use by processor 220.
[0053] Storage component 240 stores information and / or software related to the operation and use of device 200. For example, storage component 240 may include hard disks (e.g., magnetic disks, optical disks, magneto-optical disks, and / or solid-state disks), compact disks (CDs), digital versatile disks (DVDs), floppy disks, cartridges, magnetic tape, and / or other types of non-transitory computer-readable media, along with corresponding drives.
[0054] Input components 250 include components that enable device 200 to receive information, such as via user input (e.g., a touchscreen display, a keyboard, a keypad, a mouse, buttons, switches, and / or a microphone). Additionally or alternatively, input components 250 may include sensors for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and / or an actuator). Output components 260 include components that provide output information from device 200 (e.g., a display, a speaker, and / or one or more light-emitting diodes (LEDs)).
[0055] Communications interface 270 includes transceiver-like components (e.g., a transceiver and / or a separate receiver and transmitter) that enable device 200 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communications interface 270 may enable device 200 to receive information from and / or provide information to other devices. For example, communications interface 270 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, etc.
[0056] Device 200 may perform one or more processes described herein. Device 200 may perform these processes in response to processor 220 executing software instructions stored by a non-transitory computer-readable medium, such as memory 230 and / or storage component 240. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space distributed across multiple physical storage devices.
[0057] Software instructions may be loaded into memory 230 and / or storage component 240 from another computer-readable medium or from another device via communications interface 270. When executed, the software instructions stored in memory 230 and / or storage component 240 may cause processor 220 to perform one or more 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.
[0058] The number and arrangement of components shown in Figure 2 is provided as an example. In practice, device 200 may include additional, fewer, different, or differently arranged components than those shown in Figure 2. Additionally or alternatively, a set of components (e.g., one or more components) of device 200 may perform one or more functions that are described as being performed by another set of components of device 200.
[0059] 3 is a diagram of a media architecture 300 for media streaming. In an embodiment, the media architecture 300 may be used for uplink streaming or downlink streaming. A 5G media streaming (5GMS) uplink application provider 301 may use 5GMS for streaming services. The 5GMS application provider 301 may provide a 5GMS-aware application 302 on a UE 303 to utilize a 5GMS client 304 and network functions that use interfaces and APIs defined in 5GMS. A 5GMS application server (AS) may be an AS dedicated to 5G media streaming. A 5GMS client 304 may be a UE 303 internal function dedicated to 5G media streaming.
[0060] The 5GMS Application Function (AF) 306 and the 5GMS AS 305 may be Data Network (DN) 307 functions. Functions in a trusted DN may be trusted by the operator's network. Thus, AFs in a trusted DN may communicate directly with all 5G core functions. Functions in external DNs may only communicate with the 5G core functions via a Network Exposure Function (NEF) 308 using link 320.
[0061] The media architecture 300 may connect the internal functions of the UE 303 and related network functions for 5G media uplink streaming. Accordingly, the media architecture 300 may include several functions. For example, the 5GMS client 304 on the UE 303 may be an originator of 5GMS services that can be accessed via an interface / API. The 5GMS client 304 may include two sub-functions: a media session handler (MSH) 309 and a media streamer 310. The MSH 309 may communicate with the 5GMS AF 306 to establish, control, and support the delivery of media sessions. The MSH 309 may expose APIs that can be used by 5GMS-aware applications 302. The media streamer 310 may communicate with the 5GMS AS 305 to stream media content, provide services to the 5GMS-aware applications 302 for media capture and streaming, and provide services to the MSH 309 for media session control. The 5GMS-aware application 302 may control the 5GMS client 303 by implementing external application or content service provider-specific logic and enabling the establishment of media sessions. The 5GMS AS 305 may host 5G media functions. The 5GMS application provider 301 may be an external application or content-specific media function, such as media storage, consumption, transcoding, and redistribution that streams media from the 5GMS-aware application 302 using 5GMS. The 5GMS AF 306 may provide various control functions to the MSH 309 on the UE 303 and / or the 5GMS application provider 301. The 5GMS AF 306 may relay or initiate requests for different policy or charging functions (PCFs) 311 processing or interact with other network functions.
[0062] The media architecture 300 may include several different interfaces. For example, link M1 may be a 5GMS provisioning API exposed by the 5GMS AF 306 to provide use of the media architecture 300 and obtain feedback. Link M2 may be a 5GMS Publish API exposed by the 5GMS AS 305 and may be used when a 5GMS AS 305 in a trusted DN, such as DN 307, is selected to receive content for a streaming service. Link M3 may be an internal API used to exchange information for hosting content on a 5GMS AS 305 in a trusted DN, such as DN 307. Link M4 may be a media uplink streaming API exposed by the 5GMS AS 323 to the media streamer 310 to stream media content. Link M5 may be a media session handling API exposed by the 5GMS AF 305 to a media session handler for control and assistance, including media session handling, authorization, and authentication, and appropriate security mechanisms. Link M6 may be a UE 303 media session handling API exposed by MSH 309 to the 5GMS-aware application 302 to utilize 5GMS capabilities. Link M7 may be a UE media streamer API exposed by media streamer 310 to the 5GMS-aware application 302 and MSH 309 to use media streamer 310. Link M8 may be an application API used for information exchange between the 5GMS-aware application 302 and 5GMS application provider 301, for example to provide service access information to the 5GMS-aware application 302.
[0063] 4 is a diagram of a 5G edge network architecture 400, according to an embodiment. An edge data network (EDN) 401 is a local data network. An edge application server (EAS) 402 and an edge enabler server (EES) 403 are included within the EDN 401. An edge configuration server (ECS) 404 provides configurations related to the EES 403, including details of the EDN 401 that hosts the EES 403. A user equipment (UE) 405 includes an application client (AC) 406 and an edge enabler client (EEC) 407. The EAS 402, EES 403, and ECS 404 can interwork with a 3GPP core network 408.
[0064] The EES 403 provides the necessary support functions for the EAS 402 and the EEC 407. The functions of the EES 403 may include: provisioning configuration information to the EEC 407 to enable the exchange of application data traffic with the EAS; supporting API publishing and API invoker functions, for example, as specified in 3GPP TS 23.222; interacting with the 3GPP core network 408 to access network function capabilities directly (e.g., via a PCF) or indirectly (e.g., via a Service Function Publishing Function (SCEF) / NEF / SCEF+NEF); supporting application context transfer; supporting external publishing of 3GPP network and service functions over the EDGE-3 link to the EAS 402; supporting registration (i.e., registering, updating, and deregistering) functions with the EEC 407 and the EAS 402; and supporting the ability to trigger EAS 402 instantiation on demand.
[0065] The EEC 407 provides the necessary support functions for the AC 406. The functions of the EEC 407 may include: retrieval and provision of configuration information to enable the exchange of application data traffic with the EAS 402; and discovery of available EASs 402 in the EDN 401.
[0066] The ECS 404 provides the support functions necessary for the EEC 407 to connect to the EES 403. The functions of the ECS 404 are: providing edge configuration information to the EEC 407, such as information for the EEC 407 to connect to the EES 403 (e.g., service area information applicable to the LADN); information for establishing a connection with the EES 403 (e.g., URI); supporting registration functions (register, update, deregister, etc.) of the EES 403; supporting API publishing functions and API caller functions specified in 3GPP TS 23.222; and interacting with the 3GPP core network 408 to access network functions directly (e.g., through a PCF) or indirectly (e.g., via a SCEF / NEF / SCEF+NEF).
[0067] The AC 406 is an application resident in the UE 405 that performs client functions.
[0068] The EAS 402 is an application server residing in the EDN 401 and performs server functions. The AC 406 connects to the EAS 402 to utilize the application's services with the benefits of edge computing. The application's server functions may be available only to the EAS 402. However, because the EAS 402 and the application server reside in the cloud, certain server functions may be available both at the edge and in the cloud. The server functions provided by the EAS 402 and its corresponding cloud application server may be the same or different; if different, the application data traffic exchanged with the AC may also be different. The EAS 402 may consume the functions of the 3GPP core network 408 in different ways: if it is a trusted entity of the 3GPP core network 408, it may directly call the 3GPP core network 408's function API; it may call the 3GPP core network 408's function via the EES 403; and it may call the 3GPP core network 408's function via a function exposure function, i.e., the SCEF or NEF.
[0069] The architecture 400 may include several different interfaces, which may be referred to as reference points, for enabling edge applications. For example, link EDGE-1 may be a reference point that enables interaction between the EES 403 and the EEC 407. It supports: registering and deregistering the EEC 407 with the EES 403; retrieving and providing configuration information for the EAS 402; and discovering available EASs 402 in the EDN 401.
[0070] Link EDGE-2 may be a reference point that enables interworking between the EES 403 and the 3GPP core network 408. It supports access to 3GPP core network 408 functions and APIs to retrieve network capability information, for example, via the SCEF and NEF APIs defined in 3GPP TS 23.501, 3GPP TS 23.502, 3GPP TS 29.522, 3GPP TS 23.682, 3GPP TS 29.122, or with an EES 403 deployed within the MNO trust domain (see clause 5.13 of 3GPP TS 23.501, 3GPP TS 23.503, 3GPP TS 23.682). Link EDGE-2 may reuse EPS or 5GS 3GPP reference points or interfaces to allow for different deployment models.
[0071] Link EDGE-3 may be a reference point that enables interaction between the EES 403 and the EAS 402. It supports: registration of the EAS 402 with availability information (e.g., time constraints, location constraints); deregistration of the EAS 402 from the EES 403; discovery of target EAS 402 information to support application context transfer; providing access to network capability information (e.g., location information, quality of service (QoS) related information); and requesting the establishment of a data session between the EAS 402 and the AC 406 with a specific QoS.
[0072] Link EDGE-4 may be a reference point that allows interaction between ECS 404 and EEC 407. It supports: providing edge configuration information to EEC 407;
[0073] Link EDGE-5 may be a reference point that allows interaction between the AC and the EEC407.
[0074] Link EDGE-6 may be a reference point that allows interaction between ECS 404 and EES 403. It supports: registration of EES 403 information to ECS 404;
[0075] Link EDGE-7 may be a reference point that enables interworking between the EAS 402 and the 3GPP core network 408. It supports access to 3GPP core network 408 functions and APIs for retrieval of network capability information, for example, via the SCEF and NEF APIs defined in 3GPP TS 23.501, 3GPP TS 23.502, 3GPP TS 29.522, 3GPP TS 23.682, 3GPP TS 29.122, or with an EAS 402 deployed within the MNO trust domain (see clause 5.13 of 3GPP TS 23.501, 3GPP TS 23.682). Link EDGE-7 may reuse EPS or 5GS 3GPP reference points or interfaces to allow for different deployment models.
[0076] Link EDGE-8 may be a reference point that enables interworking between the ECS 404 and the 3GPP core network 408. It: a) supports access to 3GPP core network 408 functions and APIs for retrieval of network capability information, e.g., via SCEF and NEF APIs defined in 3GPP TS 23.501, 3GPP TS 23.502, 3GPP TS 29.522, 3GPP TS 23.682, and 3GPP TS 29.122; and with the ECS 404 deployed within the MNO trust domain (see clause 5.13 of 3GPP TS 23.501, 3GPP TS 23.682). Link EDGE-8 may reuse EPS or 5GS 3GPP reference points or interfaces to allow for different deployment models.
[0077] The embodiment corresponding to Figs. 5 to 7 may be implemented in two stages, e.g. 1. Discovering the hardware capabilities of edge application servers 2. Discovering Media-Specific Capabilities of Edge Application Servers This document relates to workflows and procedures for detecting the capabilities of 5G networks by external entities.
[0078] Before establishing a media processing workflow on an edge server, the processing capabilities of the edge server must be discovered. These capabilities may include: 1. Available hardware resources, including processing units, storage, and network elements 2. Environmental characteristics, including the operating system (OS), OS version, and other parameters 3. Throughput and latency range that edge servers can provide 4. Media processing function libraries, including functional descriptions and input / output formats for various functions such as: a. Encoding to different formats, transcoding, multi-rate encoding b. Manifest Creation c. Encryption and Content Protection d. Content replacement such as advertisement insertion e. Additional media such as closed captioning, object detection, and content filtering.
[0079] The current TS23.558 only covers the first item. The embodiments provide an architecture and method for detecting the second through fourth items.
[0080] Figure 5 shows an architecture 500 in which elements from architecture 400 of Figure 4 are combined with elements from architecture 300 of Figure 3. To avoid unnecessary duplication, redundant description has been omitted.
[0081] 5, the media streamer 310 and the MSH 309 are included in the AC 406, and the GMS AS 305 and the GMS 306 are included in the EAS 402. The MSH 309 may communicate with the AC 406 via link U1, the GMS AS 305 may communicate with the GMS AF 306 via link N2, and the GMS AF 306 may communicate with the EAS 402 via link N1.
[0082] 6 illustrates a process 600 that may be associated with a call flow for discovering edge data network capabilities. Process 600 may be performed using architecture 500, or any other architecture as desired.
[0083] Process 600 may extend the TS23.558 API to enable discovery of media capabilities of an edge data network (EDN).
[0084] As shown in FIG. 6, capability discovery is performed by requesting and responding through the Link U1, Link EDGE-7, Link N1, Link N2 APIs and vice versa.
[0085] According to process 600, at operation 6010, MSH 309 may send a request for a processing function to AC 406 using link U1. At operation 6020, AC 406 may send a request for a processing function to EAS 402 using link EDGE-7. At operation 6030, EAS 402 may send a request for a processing function to 5GMS AF 306 using link N1. At operation 6040, 5GMS AF 306 may send a request for a processing function to 5GMS AS 305 using link N2.
[0086] According to process 600, at operation 6050, 5GMS AS 305 may send a response including the processing capabilities to 5GMS AF 306 using link N2. At operation 6060, 5GMS AF 306 may send a response including the processing capabilities to EAS 402 using link N1. At operation 6070, EAS 402 may send a response including the processing capabilities to AC 406 using link EDGE-7. At operation 6080, AC 406 may send a response including the processing capabilities to MSH 309 using link U1.
[0087] The Link EDGE-7 API is defined in TS23.558. To support the feature detection described herein, the Link EDGE-7 API may be extended. Link U1, Link N1, and Link N2 may be internal APIs.
[0088] 7 illustrates a process 700 that may be associated with a call flow for discovering edge data network capabilities. Process 700 may be performed using architecture 500, or any other architecture as desired.
[0089] The process 700 may use the TS23.558 API to discover the hardware capabilities of the edge data network, but may use direct APIs to discover media-specific capabilities.
[0090] As shown in FIG. 7, capability detection is performed by requesting and responding through U1, EDGE-7 in one phase (operations 7010-7040) and through M5, N2 API in a second phase (operations 7050-7080).
[0091] According to process 700, at operation 7010, MSH 309 may send a request for processing capabilities to AC 406 using link U1. At operation 7020, AC 406 may send the request for processing capabilities to EAS 402 using link EDGE-7. At operation 7030, EAS 402 may send a response including the processing capabilities to AC 406 using link EDGE-7. At operation 7040, AC 406 may send a response including the processing capabilities to MSH 309 using link U1.
[0092] According to process 700, at operation 7050, MSH 309 may send a request for processing capabilities to GMS AF 306 using link M5. At operation 7060, GMS AF 306 may send the request for processing capabilities to GMS AS 305 using link N2. At operation 7070, GMS AS 305 may send a response including the processing capabilities to GMS AF 306 using link N2. At operation 7080, GMS AF 306 may send a response including the processing capabilities to MSH 309 using link M5.
[0093] The Link EDGE-7 API is defined by TS 23.558 and the Link M5 API is defined by TS 26.501. The Link EDGE-7 and Link M5 APIs can be extended to support the feature discovery described herein.
[0094] In process 700, MSH 309 may discover hardware capabilities through link U1 and link EDGE-7 APIs and media-specific capabilities through link M5 APIs.
[0095] In tables throughout this disclosure, additional information is indicated in italics. Additionally, the designation "M" indicates required information and the designation "O" indicates optional information. As used throughout this disclosure, the terms "required" and "optional" indicate that a particular element is considered required or optional in certain embodiments, but not in all embodiments.
[0096] Table 1 shows the extensions to the Link EDGE-7 API to support the media sensing functionality according to Figures 5-7. [Table 1]
[0097] Table 2 shows an example data extension embodiment for link M5API supporting media discovery functionality according to FIGS. [Table 2]
[0098] Table 3-6 shows the parameters added to link EDGE-7 and link M5API according to Figure 5-7. [Table 3] [Table 4] [Table 5]
[0099] The supported repositories are described as shown in Table 5. Each repository contains a list of supported features. [Table 6]
[0100] The feature description lists the supported features and their characteristics can be obtained, as shown in Table 6. These characteristics may include: 1. Supported input formats, codecs, and codec profiles / levels, resolutions, and frame rates 2. Transcoding by format, output codec, codec profile / level, bitrate, etc. 3. Reformatting by output format, 4. Combining input media streams, e.g., network-based stitching, mixing, 5. Media Recognition or Synthesis
[0101] Thus, embodiments may provide a method for discovering 5G network capabilities by applications and call flows via 3GPP Edge APIs, where the 5G device collects currently available resources from an application server including media capabilities, and the 3GPP Edge APIs are extended to provide the media capabilities of the edge network to the application.
[0102] Embodiments may provide a method for discovering 5G network capabilities through a two-stage application and call flow in which a 5G device collects currently available resources from an application server, including media capabilities, via a 3GPP Edge API and then via a 3GPP 5GMSA API, and the 3GPP Edge and 5GMSA APIs are extended to provide the media capabilities of the edge network to the application.
[0103] Embodiments may provide a method for detecting 5G application server environmental parameters, wherein an application can detect information regarding the operation system, environmental parameters, and related information for running first and third party applications, libraries, and functions on the 5G application server.
[0104] An embodiment corresponding to Figures 8-10 may extend the 5G edge architecture described above to enable: 1. EAS402 detection available through 5GMS AP301 2. Detecting EAS402 function available by 5GMS AP301.
[0105] Figure 8 shows an architecture 800 in which elements from architecture 400 of Figure 4 are combined with elements from architecture 300 of Figure 3. To avoid unnecessary duplication, redundant description has been omitted.
[0106] As shown in FIG. 8, link EDGE-9 enables communication between EAS 402 and 5GMS AP 301, link EDGE-10 enables communication between EES 403 and 5GMS AP 301, and link EDGE-11 enables communication between ECS 404 and 5GMS AP 301.
[0107] 9 shows a process 900 relating to a call flow for discovering capabilities of edge data network 401. Process 900 may be performed using architecture 800, architecture 1000 described below, or any other architecture as desired.
[0108] The process 900 may extend the TS23.558 API to enable the 5GMS AP 301 to discover the media capabilities of the edge data network.
[0109] According to process 900, at operation 9010, the 5GMS AP 301 may send a provisioning request to the ECS 404 using link EDGE-11. At operation 9020, the ECS 404 provisions and provides a list of the EES 403 to the 5GMS AP 301 using link EDGE-11. At operation 9030, the 5GMS AP 301 requests registration from the EES 403 included in the EES 403 list using link EDGE-10. At operation 9040, the EES 403 registers and provides a list and location of the EAS 402 to the 5GMS AP 301 using link EDGE-10. At operation 9050, the 5GMS AP 301 may request service from the EAS 402 included in the EAS 402 list using link EDGE-9. In operation 9060, the EAS 402 initiates the service and confirms the service to the 5GMS AP 301 using link EDGE-9, and the 5GMS AP 301 connects to the EAS 402 and uses the service.
[0110] Figure 10 shows an architecture 1000 in which elements from architecture 400 of Figure 4 are combined with elements from architecture 300 of Figure 3. To avoid unnecessary duplication, redundant description has been omitted.
[0111] In FIG. 10, the 5GMS AS 305 and 5GMS AF 306, as well as the ECS 404 and EES 403, may be logical entities. All or some of them may be combined in implementation. The EAS 402 may be multiple entities. From the perspective of the 5GMS AS 305, all EAS 402 entities are part of the 5GMS AP 301. Link M2 provides media flow between the 5GMS AS 305 and the 5GMS AP 301. The 5GMS AS 305 may be connected to the EAS 402 through the 5GMS AP 301 because some or all of the applications may run on the EAS 402.
[0112] Thus, in an embodiment, the 5GMS AP 301 may directly detect the list and location of the EAS 402.
[0113] In an embodiment, the 5GMS AP 301 may detect the functionality of the EAS 402.
[0114] In an embodiment, the 5GMS AP 301 may request service(s) directly from the EAS 402 and may instantiate and use those services.
[0115] In an embodiment, the 5GMS AP301 may perform any of the above functions without going through the UE303.
[0116] In an embodiment, the same resources that the UE 303 uses to communicate with the EDN 401 can be used by the 5GMS AP 301, and no new resources are required.
[0117] In an embodiment, architecture 300 may be combined with architecture 400 to provide a mechanism for setting up media services on an edge server and providing media flow between 5GMS AS 305 and EAS 402.
[0118] Thus, embodiments may provide new APIs and methods for discovery of EDN401 capabilities by the 5GMS AP301 through call flows, where the 5GMS AS305 can discover the list of available edge servers, provide a subset thereof, discover the location and capabilities of those provided, discover more details about a particular EAS402, and then request services from that server, and currently standardized resources can be used to perform the above operations.
[0119] Embodiments may provide a method for combining a 5G edge data network and a 5G media data network where the two architectures are combined and control and data flows are configured such that portions of the media application can be run on the EAS 402 and sessions can be established using standard processes of the 5G edge network and 5G media streaming architecture.
[0120] Embodiments corresponding to Figures 11-13 may extend the 5G edge architecture described above to enable: 1. The edge platform architecture is extended with a 5GMS AP301 "pseudo" edge-enabled client 1201. 2. Instantiation of 5GMS AF305 and 5GMS AS305 in EAS402 3. Support for MEC Host 1202 or similar functionality in EAS402
[0121] 11-12 show architectures 1100 and 1200 in which elements from architecture 400 of Figure 4 are combined with elements from architecture 300 of Figure 3 and additional elements are added. To avoid unnecessary duplication, redundant description has been omitted.
[0122] In FIG. 11 , an edge detection function (EDF) 1101 enables the 5G MS AP 301 to discover the EAS 402 and its capabilities. One way to achieve this is to use a pseudo-EEC 1201 as the EDF 1101. Next, EDGE-10, EDGE-11, and EDGE-12 are, for example, EDGE-1, EDGE-4, and EDGE-5, respectively, as shown in FIG. 12 . In an embodiment, the EDF 1101 can potentially be realized by a solution provided by SA2 or SA5. The edge orchestrator (EO) 1102 can be an orchestration service that requests the execution of a specific application on the EAS 402. The EO 1101 can be provided by a 5G network operator. In an embodiment, the 5G MS AP 301 provider can include an EO service function. The edge host (EH) 1103 can be a service that executes a specific application on the EAS 402.
[0123] FIG. 12 shows an architecture 1200 that may be an example of the architecture 1100 implemented using MEC. In FIG. 12, the EDF 1101 is implemented using EEC functionality, and link EDGE-1 is used for detection. The MEC system manager 1203 is used as the EO 1101. The MEC system manager 1203 can be implemented by a 5G network operator or by a 5G MS AP 301. The link M1 interface is used as link EDGE-9. The MEC host 1202 is used as the EH 1103.
[0124] 13 illustrates a process 1300 that may be associated with a call flow for discovering edge data network capabilities. Process 1300 may be performed using architecture 1200, architecture 1300, or any other architecture as desired.
[0125] According to process 1300, at operation 1310, the 5GMS AP 301 may send a provisioning request to the ECS 404 using the EDF 1101 and link EDGE-1. At operation 1320, the ECS 404 provisions and provides a list of the EES 403 to the 5GMS AP 301 using link EDGE-1. At operation 1330, the 5GMS AP 301 requests registration from the EES 403 included in the list of the EES 403 using link EDGE-4. At operation 1340, the EES 403 registers and provides a list and location of the EAS 402 to the 5GMS AP 301 through the EDF 1101 using link EDGE-4. At operation 1350, the 5GMS AP 301 may request service from the EAS 402 included in the list of the EAS 402 using the EDF 1101 and link EDGE-9. In operation 1350, the EAS 402 starts running the service and confirms the service to the 5GMS AP 301 using link EDGE-9, and the 5GMS AP 301 connects to the EAS 402 and uses the service. For example, the EAS 402 starts instances of the 5GMS AF 306 and the 5GMS AS 305, and the MSH 309, the 5GMS AF 306, and the 5GMS AS 305 may set up a media session and start media streaming.
[0126] In an embodiment, the 5GMS AP301 may directly use existing edge standards to discover the list, location, and capabilities of the EAS402.
[0127] In an embodiment, the 5GMS AP 301 may detect the capabilities of the EAS 402 directly using existing edge standards.
[0128] In an embodiment, the 5GMS AP 301 may use a standard such as MEC to directly request service(s) from the EAS 402, instantiate and use those services.
[0129] In an embodiment, the 5GMS AP301 may perform any of the above functions without going through the UE303.
[0130] In an embodiment, the appropriate EAS 402 instantiates a single 5GMS AF 306 and 5GMS AS 305, and therefore media flows through this EAS 402.
[0131] In an embodiment, the same resources that the UE 303 uses to communicate with the EDN 401 can be used by the 5GMS AP 301, and no new resources are required.
[0132] In an embodiment, architecture 300 may be combined with architecture 400 to provide a mechanism for setting up media services on an edge server and providing media flow between 5GMS AS 305 and EAS 402.
[0133] Thus, embodiments may provide a method for the 5G MS AP 301 to discover 5G edge data network capabilities through existing APIs using pseudo clients and call flows within the application, and the 5G MS AP 301 can discover the list of available edge servers, provide a subset thereof, discover the location and capabilities of the provided edge servers, discover more details about a particular edge application server, and then request services from that server using standard orchestration solutions, and can use currently standardized resources to perform the above operations.
[0134] Embodiments may provide a method for combining a 5G edge data network, a 5G media data network, and an MEC architecture, where the three architectures are combined and the control and data flows are configured such that portions of the media application can be run on the EAS 402 and sessions can be established using standard processes of the 5G edge network and 5G media streaming architecture.
[0135] An embodiment corresponding to Figures 14-18 may extend the 5G edge architecture described above to include a list of 5G MS AS305 and, in an embodiment, a 5G Detection Server (DS) 1401 which may include those functions. The embodiment related to Figures 14 to 18 is The location of the associated 5GMS AF306 and the function of the corresponding 5GMS AS305 by the 5GMS AP301 are analyzed in two stages. 1. Discovering the list of available 5GMS AF306s (and in some embodiments 5GMS AS305 capabilities) in the DS1401 2. Detecting media-specific features of a particular 5GMS AS305 The present invention may relate to workflows and procedures for detecting
[0136] Figure 14 shows an architecture 1400 that includes some elements from architecture 300 of Figure 3, along with an additional element DS 1401. To avoid unnecessary duplication, redundant description has been omitted.
[0137] In Figure 14, DS1401 can be used to discover available 5GMS ASs 305. As can be seen in Figure 14, MSH 309 can communicate with discovery server 1401 using link M10, and 5GMS AP 301 can communicate with DS1401 using link M9. 5GMS AP 301 or an external application server can use DS1401 to obtain a list of 5GMS ASs 305. Each entry in DS1401 can include some or all of the following information: 1.5GMS AS305 Name and Description 2. Corresponding 5GMS AF306 URL 3. Supported 5GMS AS305 functions
[0138] Figure 15 shows an architecture 1500 that includes some elements from architecture 300 of Figure 3, along with DS 1401. Redundant descriptions have been omitted to avoid unnecessary duplication.
[0139] 16-18 show processes 1600, 1700, and 1800 that may be associated with a call flow for discovering network capabilities. Processes 1600, 1700, and 1800 may be performed using architecture 1400, architecture 1500, or any other architecture as desired.
[0140] Processes 1600, 1700, and 1800 may extend the TS26.501 API to enable discovery of 5G application servers.
[0141] Process 1600 relates to a call flow in which a 5GMS AP 301 may discover network capabilities. According to process 1600, at operation 1610, the 5GMS AP 301 may send a request for a list of AFs to the DS 1401 using link M9. At operation 1620, the DS 1401 may provide the list of available AFs to the 5GMS AP 301 using link M9. At operation 1630, the 5GMS AP 301 may send a request for capabilities to the 5GMS AF 306 using link M1. At operation 1640, the 5GMS AF 306 may send a request for capabilities to the 5GMS AS 305 using link M3. At operation 1650, the 5GMS AS 305 may send a response including the capabilities to the 5GMS AF 306 using link M3. In operation 1660, the 5GMS AF306 may send a response including the capabilities to the 5GMS AP301 using link M1.
[0142] In an embodiment, a 5GMS aware application (AA) 302 included in a UE 303 may detect network capabilities through a 5GMS AP 301, for example, as shown in process 1700 of FIG. 17, and through an MSH 309, for example, as shown in process 1800 of FIG. 18.
[0143] According to process 1700, in operation 1701, the 5GMS AA 302 may send a request for a list of AFs to the 5GMS AP 301 using link M8. In operation 1702, the 5GMS AP 301 may send a request for a list of AFs to the DS 1401 using link M9. In operation 1703, the DS 1401 may provide the list of available AFs to the 5GMS AP 301 using link M9. In operation 1704, the 5GMS AP 301 may provide the list of available AFs to the 5GMS AA 302 using link M8.
[0144] At operation 1705, the 5GMS AA 302 may send a request for the capabilities to the 5GMS AP 301 using link M8. At operation 1706, the 5GMS AP 301 may send a request for the capabilities to the 5GMS AF 306 using link M8. At operation 1707, the 5GMS AF 306 may send a request for the capabilities to the 5GMS AS 305 using link M3. At operation 1708, the 5GMS AS 305 may send a response including the capabilities to the 5GMS AF 306 using link M3. At operation 1709, the 5GMS AF 306 may send a response including the capabilities to the 5GMS AP 301 using link M1. At operation 1710, the 5GMS AP 301 may send a response including the capabilities to the 5GMS AA 302 using link M8.
[0145] According to process 1800, in operation 1801, the 5GMS AA 302 may send a request for a list of AFs to the MSH 309 using link M6. In operation 1802, the MSH 309 may send a request for a list of AFs to the DS 1401 using link M10. In operation 1803, the DS 1401 may provide the list of available AFs to the MSH 309 using link M10. In operation 1804, the MSH 309 may provide the list of available AFs to the 5GMS AA 302 using link M6.
[0146] At operation 1805, the 5GMS AA 302 may send a request for the capabilities to the MSH 309 using link M8. At operation 1806, the MSH 309 may send a request for the capabilities to the 5GMS AF 306 using link M5. At operation 1806, the 5GMS AF 306 may send a request for the capabilities to the 5GMS AS 305 using link M3. At operation 1808, the 5GMS AS 305 may send a response including the capabilities to the 5GMS AF 306 using link M3. At operation 1809, the 5GMS AF 306 may send a response including the capabilities to the MSH 309 using link M5. At operation 1810, the MSH 309 may send a response including the capabilities to the 5GMS AA 302 using link M6.
[0147] Table 7 shows information about entries in DS1401, according to an embodiment: [Table 7]
[0148] Table 8 shows information about the capabilities of the application server, according to an embodiment: [Table 8]
[0149] Therefore, the embodiment may provide a method for the 5GMS AP 301 to detect the 5GMS AS 305 through the DS 1401, and the DS 1401 may list additional information including the URL of the 5GMS AF 306 and the capabilities of the corresponding application server.
[0150] An embodiment may provide a method for detecting a 5GMS AS305 by a 5GMS AA302 through a 5GMS AS305, which allows the 5GMS AA302 to detect available 5GMS AS305s and their capabilities.
[0151] An embodiment may provide a method for detecting 5GMS AS305 by 5GMS AA302 through MSH309, which allows 5GMS AA302 to detect available 5GMS AS305 and their capabilities.
[0152] An embodiment may provide a method for conveying application server and application capability information in DS1401, and the URL and other information of 5GMS AS305 are listed in DS1401.
[0153] Embodiments may provide a method for detecting 5GMS AS305 environmental parameters, as well as built-in features and supported repositories, and can detect information about the 5GMS AS305 operating system, environmental parameters, and related information for running first and third-party applications, libraries, and features on the 5GMS AS305.
[0154] 19-23 relate to various possible deployment scenarios for using network and edge processing in the 5GMS architecture. The use of the NBMP standard as a specific case of network and edge processing is also discussed.
[0155] Referring to FIG. 19, an NBMP system 1900 includes an NBMP source 1910, an NBMP workflow manager 1920, a capability repository 1930, one or more media processing entities 1950, a media source 1960, and a media sink 1970.
[0156] The NBMP source 1910 may receive instructions from a third-party entity, may communicate with the NBMP workflow manager 1920 via the NBMP workflow API 1992, and may communicate with the feature repository 1930 via the feature discovery API 1991. For example, the NBMP source 1910 may send workflow description document(s) (WDD) to the NBMP workflow manager 1920 and read feature descriptions of features stored in the feature repository 1930, which are media processing functions stored in the memory of the feature repository 1930, such as media decoding, feature point extraction, camera parameter extraction, projection methods, seam information extraction, blending, post-processing, and encoding functions. The NBMP source 1910 may include, or be implemented by, at least one processor and a memory storing code configured to cause the processor to perform the functions of the NBMP source 1910.
[0157] An NBMP source 1910 may request an NBMP workflow manager 1920 to create a workflow including tasks 1952 to be performed by one or more media processing entities 1950 by sending a workflow description document, which may include multiple descriptors, each of which may have multiple parameters.
[0158] For example, the NBMP source 1910 may select a function stored in the function repository 1930 and send a workflow description document to the NBMP workflow manager 1920 that includes various descriptors for descriptive details such as input and output data, required functions, and workflow requirements. The workflow description document may include a set of input and output connection maps and task descriptions of tasks 1952 to be performed by one or more of the media processing entities 1950. Once the NBMP workflow manager 1920 receives such information from the NBMP source 1910, the NBMP workflow manager 1920 may create a workflow by instantiating tasks based on the function names and connecting the tasks according to the connection maps.
[0159] Alternatively or additionally, the NBMP source 1910 may request the NBMP workflow manager 1920 to create a workflow by using a set of keywords. For example, the NBMP source 1910 may send the NBMP workflow manager 1920 a workflow description document that may include a set of keywords that the NBMP workflow manager 1920 may use to find appropriate functions stored in the function repository 1930. When the NBMP workflow manager 1920 receives such information from the NBMP source 1910, the NBMP workflow manager 1920 may create a workflow by searching for appropriate functions using keywords that may be specified in process descriptors of the workflow description document, and may use other descriptors in the workflow description document to provide tasks and connect them to create the workflow.
[0160] NBMP workflow manager 1920 may communicate with feature repository 1930 via feature discovery API 1993, which may be the same or a different API as feature discovery API 1991, and may communicate with one or more of media processing entities 1950 via API 1994 (e.g., an NBMP task API). NBMP workflow manager 1920 may include, or may be implemented by, at least one processor and memory that stores code configured to cause the processor to perform the functions of NBMP workflow manager 1920.
[0161] The NBMP workflow manager 1920 may use the API 1994 to set up, configure, manage, and monitor one or more tasks 1952 of a workflow that can be executed by one or more media processing entities 1950. In one embodiment, the NBMP workflow manager 1920 may use the API 1994 to update and destroy tasks 1952. To configure, manage, and monitor tasks 1952 of a workflow, the NBMP workflow manager 1920 may send messages, such as requests, to one or more of the media processing entities 1950, where each message may have multiple descriptors and each of the descriptors has multiple parameters. The tasks 1952 may each include a media processing function 1954 and a configuration 1953 for the media processing function 1954.
[0162] In one embodiment, after receiving a workflow description document from the NBMP source 1910 that does not include a list of tasks (e.g., includes a list of keywords instead of a list of tasks), the NBMP workflow manager 1920 may select a task based on the description of the task in the workflow description document and search the function repository 1930 via the function discovery API 1993 to find an appropriate function to execute as a task 1952 in the current workflow. For example, the NBMP workflow manager 1920 may select a task based on keywords provided in the workflow description document. After an appropriate function is identified by using the set of keywords or task descriptions provided by the NBMP source 1910, the NBMP workflow manager 1920 may use the API 1994 to configure the selected task in the workflow. For example, the NBMP workflow manager 1920 may extract configuration data from the information received from the NBMP source and configure the task 1952 based on the configuration data.
[0163] The one or more media processing entities 1950 may be configured to receive media content from a media source 1960, process the media content according to a workflow including tasks 1952 created by the NBMP workflow manager 1920, and output the processed media content to a media sink 1970. The one or more media processing entities 1950 may each include at least one processor and a memory storing code configured to cause the processor to perform the functions of the media processing entity 1950, or may be implemented by at least one processor and a memory.
[0164] The media source 1960 may include memory that stores media and may be integrated with or separate from the NBMP source 1910. In one embodiment, the NBMP workflow manager 1920 may notify the NBMP source 1910 when a workflow is prepared, and the media source 1960 may send media content to one or more of the media processing entities 1950 based on the notification that a workflow is prepared.
[0165] The media sink 1970 may include at least one processor and at least one display configured to display media processed by the one or more media processing entities 1950, or may be implemented by at least one processor and at least one display.
[0166] As described above, messages from the NBMP source 1910 (e.g., a workflow description document to request the creation of a workflow) to the NBMP workflow manager 1920, and messages from the NBMP workflow manager 1920 to one or more media processing entities 1950 (e.g., to cause a workflow to be executed) may include multiple descriptors, each of which may have multiple parameters. In some cases, communications between any of the components of the NBMP system 1900 using APIs may include multiple descriptors, each of which may have multiple parameters.
[0167] 20-23 show architectures 2000, 2100, 2200, and 2300 in which elements from architecture 300 of FIG. 3 are combined with elements from system 1900 and additional elements are added. Redundant description has been omitted to avoid unnecessary duplication.
[0168] 20 illustrates an architecture 2000 in which network processing is included in an application server. As can be seen in FIG. 20, an NMBP source 1910, an NBMP workflow manager 1920, and one or more media processing entities (MPEs) 1950 are located in a 5GMS AP 301.
[0169] The process for establishing, operating, and destroying a session may include the following: 1. 5GMS AA302 makes a request to NMBP source 1910 through M8. 2. The NMBP source 1910 creates a workflow description (WD) and requests the NMBP source 1910 to instantiate the workflow. 3. The NMBP workflow manager 1920 discovers the various MPEs 1950 and finds a sufficient number of MPEs 1950 to execute the workflow. 4. The NMBP workflow manager 1920 instantiates the workflow. 5. The NMBP workflow manager 1920 responds to the NMBP source 1910 with the updated WD. 6. The NMBP source 1910 responds to the GMS AA 302 with the GMS AF 306 and GMS AS 305 information. 7. The 5GMS AA 302 requests the MSH 309 to establish a session. 8. MSH309 establishes the session and confirms 5GMS AA302. 9. 5GMS AA302 will start capturing content. 10. The session is executed. 11. The 5GMS AA 302 requests the NMBP source 1910 to terminate the session. 12. The NMBP source 1910 requests the NMBP workflow manager 1920 to terminate the workflow. 13. The NMBP workflow manager 1920 confirms the termination of the workflow. 14. The NMBP source 1910 confirms the workflow stop to the 5GMS AA302. 15. The 5GMS AA 302 requests the MSH 309 to terminate the session.
[0170] Table 9 shows the standard interfaces required in this scenario: [Table 9]
[0171] 21 shows an architecture 2100 in which the NMBP source 1910 and the NMBP workflow manager 1920 are included in the 5GMS AP 301. As seen in FIG. 21, the NMBP source 1910 and the NMBP workflow manager 1920 are located in the 5GMS AP 301, and the MPE 1950 is located in the 5GMS AS 305.
[0172] The process of establishing, operating, and destroying a session may include the following: 1. The 5GMS AA 302 makes a request to the workflow source (NMBP source 1910) through M8. 2. The NMBP source 1910 creates a workflow description (WD) and requests the NMBP workflow manager 1920 to instantiate the workflow. 3. The NMBP workflow manager 1920 finds a 5GMS AS 305 with a sufficient number of MPEs 1950 to run the workflow. 4. The NMBP workflow manager 1920 instantiates the workflow through the GMS AS 305. 5. The NMBP workflow manager 1920 responds to the NMBP source 1910 with the updated WD. 6. The NMBP source 1910 responds to the GMS AA 302 with the GMS AF 306 and GMS AS 305 information. 7. The 5GMS AA 302 requests the MSH 309 to establish a session. 8. MSH309 establishes the session and confirms 5GMS AA302. 9. 5GMS AA302 will start capturing content. 10. The session is executed. 11. The 5GMS AA 302 requests the NMBP source 1910 to terminate the session. 12. The NMBP source 1910 requests the NMBP workflow manager 1920 to terminate the workflow. 13. The NMBP workflow manager 1920 requests the 5GMS AS 305 to stop the MPE 1950. 14. The NMBP workflow manager 1920 confirms the termination of the workflow. 15. The NMBP source 1910 confirms the workflow stop to the 5GMS AA302. 16. The 5GMS AA 302 requests the MSH 309 to terminate the session.
[0173] Table 10 shows the standard interfaces required in this scenario: [Table 10] Note that N2 may be a closed API implemented by an AP operator agreement.
[0174] FIG. 22 illustrates an architecture 2200 in which an NMBP workflow manager 1920 and an MPE 1950 are included in a 5GMS AS 305. 1. The 5GMS AA 302 makes a request to the workflow source (NMBP source 1910) through M8. 2. The NMBP source 1910 builds a workflow description (WD) and discovers a 5GMS AS 305 that can execute the media. 3. The NMBP source 1910 requests the appropriate GMS AS 30 NMBP workflow manager 1920 to instantiate a workflow. 4. The NMBP workflow manager 1920 instantiates the workflow within the 5GMS AS 305. 5. The NMBP workflow manager 1920 responds to the NMBP source 1910 with the updated WD. 6. The NMBP source 1910 responds to the GMS AA 302 with the GMS AF 306 and GMS AS 305 information. 7. The 5GMS AA 302 requests the MSH 309 to establish a session. 8. MSH309 establishes the session and confirms 5GMS AA302. 9. 5GMS AA302 will start capturing content. 10. The session is executed 11. The 5GMS AA 302 requests the NMBP source 1910 to terminate the session. 12. The NMBP source 1910 requests the NMBP workflow manager 1920 of the 5GMS AS 305 to terminate the workflow. 13. The NMBP workflow manager 1920 confirms the termination of the workflow. 14. The NMBP source 1910 confirms the workflow stop to the 5GMS AA302. 15. The 5GMS AA 302 requests the MSH 309 to terminate the session. ...
[0175] Table 11 shows the standard interfaces required in this scenario: [Table 11]
[0176] FIG. 23 shows an architecture 2300 in which an NMBP source 1910 is included in an MSH 309 and an NMBP workflow manager 1920 and an MPE 1950 are included in a 5GMS AS 305.
[0177] The process of establishing, operating, and destroying a session may include the following: 1. The 5GMS AA 302 requests the MSH 309 through the M6 to start a session. 2. The NMBP source 1910 builds a workflow description (WD) and discovers a 5GMS AS 305 that can execute the media through M5 or other means. 3. The NMBP source 1910 of the MSH 309 requests the NMBP workflow manager 1920 of the appropriate 5GMS AS 305 to instantiate a workflow. 4. The NMBP workflow manager 1920 instantiates the workflow within the 5GMS AS 305. 5. The NMBP workflow manager 1920 responds to the MSH 309 with the updated WD. 6. MSH309 responds to 5GMS AA302. 7. The 5GMS AA 302 requests the MSH 309 to establish a session. 8. MSH309 establishes the session and confirms 5GMS AA302. 9. 5GMS AA302 will start capturing content. 10. The session is executed. 11. The 5GMS AA 302 requests the MSH 309 to terminate the session. 12. The NMBP source 1910 in the MSH 309 requests the NMBP workflow manager 1920 in the GMS AS 305 to terminate the workflow. 13. The NMBP workflow manager 1920 confirms the termination of the workflow. 14. MSH309 confirms the termination of the workflow to 5GMS AA302.
[0178] Table 12 shows the standard interfaces required in this scenario: [Table 12] Note that M5 supports the Workflow Manager API.
[0179] Table 13 provides an overview of deployment scenarios. [Table 13] Note that N2 may be a closed API implemented by AP operator agreement, and M5 supports the NBMP Workflow Manager API.
[0180] Other variations of the above scenario may also be deployed, for example, the NMBP Workflow Manager 1920 and MPE 1950 may be supported by the 5GMS AS 305 and the NMBP Source 1910 may be supported by the 5GMS AA 302, or all of the NMBP Source 1910, NMBP Workflow Manager 1920, and MPE 1950 may be supported by the 5GMS AS 305.
[0181] In a 5GMS Generic Architecture (5GMSA), there may be more than one 5GMS AF306 and 5GMS AS305 pair. In these cases, the NMBP Source 1910 and / or the NMBP Workflow Manager 1920 must discover the capabilities of the multiple 5GMS AF306 and 5GMS AS305 pairs to execute the network media workflow on the most appropriate 5GMS AS305.
[0182] Thus, embodiments may provide a method for deployment of any network or edge-based media processing, such as NBMP workflow management, in a 5GSMA environment, where four different scenarios are considered, including: a) an entire network processing module in an application server, b) a media processing service in the 5GMS AS 305, c) a workflow manager and media processing service in the 5GMS AS 305, and d) an NBMP source 1910 in the MSH 309, and both the NBMP workflow manager 1920 and MPE 1950 are in the 5GMS 305. In each scenario, the workflow processing module may be implemented in a different module of the 5GSM architecture, and in each scenario, an API between the network processing and the 5GMS AS is defined, and the API is divided into APIs according to the 3GPP 3GSMA standards, an internal API for each module, and a private API between the service provider and the operator.
[0183] Embodiments may provide a method including separate call flows for workflow processing and establishing, managing, and tearing down a 5GMSA joint session for each of the four scenarios of Method 1, where the call flows, workflow session, and FLUS session in each case are set up, appropriate information is exchanged through the APIs defined in Method 1, and content is upstreamed from the device to the network using 5GMSA and then processed at a cloud or edge service using network workflow processing to establish and manage the joint session.
[0184] Embodiments may provide a method for implementing the NBMP standard as a network workflow process for deployment using 5GMSA.
[0185] 24 is a flowchart of an example process 2400 for managing functionality in a media streaming network. In some implementations, one or more process blocks of diagram 2400 may be performed by one or more elements of any of the systems or architectures described above.
[0186] 24, process 2400 may include receiving a capability request for media streaming capabilities of an edge data network (EDN) (block 2402). In an embodiment, the EDN may correspond to EDN 401 described above.
[0187] As further shown in FIG. 24, process 2400 may include determining media streaming capabilities of the EDN (block 2404).
[0188] As further shown in FIG. 24, process 2400 may include sending a capabilities response based on the determined media streaming capabilities (block 2406).
[0189] As further shown in FIG. 24, process 2400 may include receiving a media processing workflow request based on the capability response (block 2408).
[0190] As further shown in FIG. 24, the process 2400 may include establishing a media streaming session according to the media processing workflow request (block 2410).
[0191] As further shown in FIG. 24, process 2400 may include streaming media content based on the media streaming session (block 2412).
[0192] In an embodiment, the media streaming capabilities relate to at least one of available hardware resources, environmental characteristics of the EDN, current throughput of edge servers associated with the EDN, current delay ranges of the edge servers, available media processing function libraries, functional descriptions of one or more functions, and characteristics of one or more functions.
[0193] In an embodiment, receiving the capability request may include receiving, by an edge application server (EAS), a first capability request from a media streaming handler of the client device, and determining the media streaming capability may include sending, by the EAS, a second capability request to at least one of a media streaming application function included in the EAS or a media streaming application server. In an embodiment, the EAS may correspond to EAS 402 described above.
[0194] In an embodiment, the first function request may be sent using an edge application programming interface (API) and the second function request may be sent using a media streaming API.
[0195] In an embodiment, the capability request may be received by an edge configuration server (ECS) from a media streaming application provider (AP). In an embodiment, the AP may correspond to the 5GMS AP 301 described above, and the ECS may correspond to the ECS 404 described above.
[0196] In an embodiment, determining the media streaming capabilities may include sending a list of edge enabler servers (EESs) from the ECS to the AP; receiving a registration request from the AP by the ECS for an EES from among the EESs; and sending a list of the EASs including the media streaming capabilities from the EES to the AP. In an embodiment, the EES may correspond to EES 403 described above.
[0197] In an embodiment, a media processing workflow request may be sent from an AP to an EAS from among a plurality of EASs based on a list of a plurality of EASs.
[0198] In an embodiment, the list of multiple EASs may be sent to the AP through an edge detection function (EDG), which may correspond to EDF 1101 described above.
[0199] In an embodiment, the EDF may be included in the AP.
[0200] 24 shows example blocks of process 2400, in some implementations process 2400 may include additional, fewer, different, or differently arranged blocks than those shown in FIG 24. Additionally or alternatively, two or more of the blocks of process 2400 may be performed in parallel.
[0201] Additionally, exemplary methods according to embodiments of the present application 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 stored on a non-transitory computer-readable medium that performs one or more of the exemplary methods.
[0202] The techniques described above may be implemented as computer software using computer-readable instructions and physically stored on one or more computer-readable media.
[0203] The embodiments of the present disclosure may be used separately or in combination in any order. Furthermore, each of the embodiments (and their 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 stored on a non-transitory computer-readable medium.
[0204] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the embodiments to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.
[0205] As used herein, the term "component" is intended to be broadly interpreted as hardware, firmware, or a combination of hardware and software.
[0206] Although combinations of features may be recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. Indeed, many of these features may be combined in ways not specifically recited in the claims and / or disclosed in the specification. Although each dependent claim listed below may depend directly on only one claim, the disclosure of possible implementations includes each dependent claim in combination with all other claims in the claim set.
[0207] No element, act, or instruction used herein should be construed as critical or required unless explicitly stated otherwise. Also, as used herein, the articles "a" and "an" are intended to include one or more items and can be used interchangeably with "one or more." Furthermore, as used herein, the term "set" is intended to include one or more items (e.g., related items, unrelated items, combinations of related and unrelated items, etc.) and can be used interchangeably with "one or more." Where only one item is intended, the term "one" or similar language is used. Also, as used herein, the terms "have," "having," "having," and the like are intended to be open-ended terms. Furthermore, the phrase "based on" is intended to mean "based at least in part on," unless expressly stated otherwise.
Claims
1. 1. A method for managing functionality of a media streaming network using at least one processor, the method comprising: receiving a capability request for a media streaming capability of an edge data network (EDN) using an edge application programming interface (API); determining the media streaming capabilities of the EDN using a media streaming API; sending a capabilities response based on the determined media streaming capabilities; receiving a media processing workflow request based on the capability response; establishing a media streaming session according to the media processing workflow request; streaming media content based on the media streaming session; The capability request is received by a 5G media streaming (MS) application function (AF) from a media streaming application provider (AP); A list of a plurality of edge application servers (EAS), and any of environmental characteristics, throughput and delay ranges, media processing function libraries, and input / output formats of functions, is sent from the 5GMS AF to the AP through an edge detection function (EDF) included in the AP; method.
2. The media streaming capabilities relate to at least one of media content transcoding, content protection, ad insertion, closed captioning, available hardware resources, environmental characteristics of the EDN, current throughput of edge servers associated with the EDN, and current delay range of the edge servers. The method of claim 1.
3. receiving the function request includes receiving, by the EAS, a first function request from a media streaming handler of the client device; The method of claim 1.
4. determining the media streaming capabilities includes sending, by the EAS, a second capability request to at least one of a media streaming application capability included in the EAS or a media streaming application server; The method of claim 3.
5. The function request is received by an Edge Configuration Server (ECS). The method of claim 1.
6. The step of determining media streaming capabilities comprises: sending a list of a plurality of Edge Enabler Servers (EES) from the ECS to the AP; receiving, by the ECS, from the AP, a registration request for an EES from among the plurality of EESs; sending, from the EES to the AP, a list of a plurality of EASs that include the media streaming capability; The method of claim 5.
7. the media processing workflow request is sent from the AP to an EAS from among the plurality of EASs based on the list of the plurality of EASs. The method of claim 6.
8. 1. A device for managing functionality of a media streaming network, said device comprising: at least one memory configured to store program code; at least one processor configured to read said program code and to execute the method of any one of claims 1 to 7 by means of said program code; device.
9. 8. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a device for managing functionality of a media streaming network, cause the one or more processors to perform the method of any one of claims 1 to 7. Non-transitory computer-readable medium.
10. A computer program product which, when executed by one or more processors of a device for managing the functionality of a media streaming network, causes said one or more processors to perform the method of any one of claims 1 to 7. Computer program.
Citation Information
Patent Citations
Routing method and system thereof
JP2003209566A
Automatic live stream trees
US20100198977A1
Edge Server Selection for Device-Specific Network Topologies
US20180316746A1
Systems and methods for better resource utilization in 5g networks using enablement layer
US20190373443A1
Resource management for 5g ev2x
WO2020033088A1