Method, apparatus and medium for triggering edge server discovery and instantiation by 5GMS-aware applications
By employing a 5GMS-aware application to discover and select edge application servers through the M6 interface, the challenges of inefficient edge resource utilization in 5G media streaming are addressed, resulting in improved performance and reduced latency.
Patent Information
- Application Number
- JP2023565852
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-03-29
- Filing Date
- 2023-03-30
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2043-03-30
AI Technical Summary
Current 5G media streaming technologies face challenges in efficiently discovering and utilizing available edge application servers, which affects latency, response time, and overall media streaming performance.
The implementation of a 5GMS-aware application on user devices that sends requests to use Edge Services via the M6 interface, allowing for discovery and selection of available edge application servers (EAS) using edge-enabler clients (EEC), and streaming media content through the selected target EAS.
This approach enables efficient discovery and utilization of edge resources, reducing latency and improving media streaming performance by allowing user devices to select the most suitable edge application servers for media content streaming.
Smart Images

Figure 0007648799000002 
Figure 0007648799000003 
Figure 0007648799000004
Abstract
Description
[Technical field]
[0001] Incorporation by Reference This application claims the benefit of priority to U.S. Non-provisional Application No. 18 / 127,981, filed March 29, 2022, and U.S. Provisional Application No. 63 / 325,520, filed March 30, 2023, the contents of which are incorporated by reference in their entireties herein.
[0002] Technical Field This application relates generally to fifth generation media streaming (5GMS) using edge processing, and more particularly to a 5GMS-aware application that determines whether to discover available edge application servers. [Background technology]
[0003] This background discussion provided herein is intended to generally present the context of the present disclosure. The inventors' work is not admitted, explicitly or implicitly, as prior art to the present disclosure to the extent that such work is described in this Background section, as well as aspects of this document that may not qualify as prior art at the time of filing of this application.
[0004] Utilizing edge processing for a 5GMS architecture may be desirable due to the advantages that edge processing offers in terms of latency, response time, bandwidth, and proximity of said processing closer to user equipment (UE), etc. Thus, a method for provisioning edge services by a client and / or obtaining information about edge application servers may be desirable. Summary of the Invention [Problem to be solved by the invention]
[0005] Aspects of the present disclosure provide methods and apparatus for media streaming and edge resource processing for fifth generation media streaming (5GMS) applications. [Means for solving the problem]
[0006] In some implementations, a method for media streaming includes: sending a request to use an edge service to a media session handler of the user device via an M6 interface using a fifth generation media streaming (5GMS) aware application of the user device; after sending the request to use the edge service, sending a discovery request for one or more available edge application servers (EAS) using an edge-enabler client (EEC) of the user device; receiving a discovery response using the EEC indicating the one or more available EASs; selecting a target EAS from among the one or more available EASs indicated in the discovery response using at least one of the EEC or the media session handler; and streaming media content communicated using the target EAS using the user device.
[0007] In some other implementations, a device for streaming media and / or edge resource processing is disclosed. The device may include circuitry configured to perform any one of the above method implementations.
[0008] Aspects of the present disclosure also provide one or more non-transitory computer-readable media storing instructions that, when executed by a computer, cause the computer to perform any one of the above method implementations for streaming media and / or edge resource processing. [Brief description of the drawings]
[0009] Further features, nature and various advantages of the disclosed subject matter will become more apparent from the following detailed description and the accompanying drawings.
[0010] [Figure 1] FIG. 1 is a block diagram of an exemplary edge-enabled fifth generation media streaming (5GMS) system.
[0011] [Diagram 2] 1 shows a flowchart of an exemplary method of media streaming performed by a user device.
[0012] [Diagram 3] 1 illustrates an interaction diagram of an exemplary method for discovering a target edge application server.
[0013] [Figure 4] 1 shows a block diagram of an exemplary computer system. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] FIG. 1 is a block diagram of an example configuration of an edge-enabled fifth generation media streaming (5GMS) system 100. In general, a 5GMS system is a collection or assembly of one or more application functions (AFs), one or more application servers (ASs), and interfaces from a 5GMS architecture configured to support or perform mobile network operator (MNO) and third party downlink media streaming services and MNO and third party upload media streaming services. An edge-enabled 5GMS system has the functionality of a 5GMS system and a 5GMS architecture, and is configured to further support or perform edge processing (e.g., media processing in an edge data network (DN)). In general, the term "edge" refers to a location of a user or a location relatively close to a user. Correspondingly, edge processing (or edge computing) refers to computer processing performed by one or more computing devices that are considered to be located at or near a user device.
[0015] In the exemplary configuration of FIG. 1, the edge-enabled 5GMS system 100 includes a user device 102, a data network (DN) 104, and an edge DN 106. In general, a user device described herein, such as the user device 102, may include a single electronic device or apparatus or multiple (e.g., networked) electronic devices or apparatuses capable of communicating over a network. A user device may include or may otherwise be referred to as a user terminal, user terminal device, or user equipment (UE). In addition, a user device may be or may include, but is not limited to, a mobile device (such as a mobile phone, a smartphone, a smart watch, a tablet, a laptop computer, a vehicle or other vessel (such as, by way of non-limiting example, a car, an airplane, a train, a boat, or a bicycle, powered by a human, a motor, or an engine), or a fixed or stationary device (such as, by way of non-limiting example, a desktop computer or other computing device that is not typically moved for long periods of time, such as, for example, a home appliance, other relatively heavy device including the Internet of Things (IoT), or a computing device used in a commercial or industrial environment).
[0016] Further, the DN 104 and the edge DN 106 may each include one or more computing devices configured to communicate signals with the user device 102. At least some of the communicated signals may be characterized as downlink or uplink. As used herein, the term downlink refers to the direction of transmission from the network (e.g., DN or edge DN) to the user device. Correspondingly, the network is the origin of the transmission and / or the information or content (e.g., media) contained in the transmission, and the user device is the consumer of the information or content or serves as a consuming device of the information or content. In this context, the network transmits the downlink transmission and the user device receives the downlink transmission. Also, as used herein, the term uplink refers to the direction of transmission from the user device to the network (e.g., DN or edge DN). Correspondingly, the user device is the origin of the transmission and / or the information or content (e.g., media) contained in the transmission, and the network is the consumer of the information or content or serves as a consuming device of the information or content. In this context, the user device sends uplink transmissions and the network receives uplink transmissions.
[0017] 1, the user device 102, the DN 104, and the edge DN 106 may be configured to establish one or more media sessions and stream media during the one or more media sessions. For at least some configurations, the user device 102, the DN 104, and the edge DN 106 may perform media streaming and related functions to establish media streams and media in accordance with one or more 5GMS technical specifications, standards, and / or protocols, such as, for example, 3rd Generation Partnership Project (3GPP) Technical Specification (TS) 26.501.
[0018] Additionally or alternatively, each of the user device 102, DN 104, and edge DN 106 may include one or more components or modules to enable communication of media streams and / or establish media streams and media sessions, such as in accordance with the 5GMS specifications. Such components are collectively referred to herein as 5GMS components. For the configuration shown in FIG. 1, the 5GMS components include a 5GMS application provider 108, a 5GMS-aware application 110, a 5GMS client 112, a media session handler 114, a media stream handler 116, a 5GMS application function (AF) 118, and a 5GMS application server (AS) 120. In other configurations, these 5GMS components may include more or less than those shown in FIG. 1. Also, as described in more detail below, these 5GMS components may be configured to communicate with each other over or through one or more interfaces M. Unless otherwise expressly described, each of the 5GMS components may be configured to communicate in both the uplink and downlink directions, and each of the interfaces M may handle communications in both the uplink and downlink directions. For at least some configurations, one or more of these 5GMS components and / or one or more of the interfaces M may be separated into a downlink portion for handling downlink functions and an uplink portion for handling uplink functions. For simplicity, the separate downlink and uplink portions are not separately designated in FIG. 1 or otherwise referenced herein.
[0019] In general, the 5GMS Application Provider 108 is a module of the DN 104 that uses 5GMS for streaming services and provisions or provides 5GMS-aware applications 110 to the user device 106. The 5GMS Application Provider 108 may perform, initiate, and / or establish provisioning sessions that configure 5GMS functionality for the 5GMS-aware application 110. Additionally or alternatively, the 5GMS Application Provider 108 may provide functionality and / or procedures used by the 5GMS-aware application 110 that enable the user device 106 to discover available streaming services and content offers and select specific services or content items for access. Additionally or alternatively, the 5GMS Application Provider 108 may perform service announcements that enable the 5GMS-aware application 110 to obtain 5GMS service access information. Additionally or alternatively, the 5GMS application provider 108 uses 5GMS downlink (5GMSd) and / or 5GMS uplink (5GMSu) functions for downlink and / or uplink streaming services, respectively. Additionally or alternatively, the 5GMS application provider 108 has content-specific media functions, such as media creation, encoding, and formatting, to stream media to and from the 5GMS-aware application 110 using a 5GMS interface.
[0020] The 5GMS aware application 110 is a module of the user device 102 that contains service logic for one or more 5GMS application services and participates in the delivery of downlink and / or uplink 5GMS services.
[0021] The 5GMS Client 112 is a module of the user device 102 dedicated to 5GMS and provides interfaces and / or application programming interfaces (APIs) for modules internal to the user device 102 to communicate with each other and / or with modules or other components external to the user device 102 in accordance with the 5GMS. For some configurations, such as that shown in FIG. 1, the 5GMS Client 112 may include a Media Session Handler 114 and a Media Stream Handler 116, although other configurations are possible in which one or both of the Media Session Handler 114 or the Media Stream Handler 116 are separate from the 5GMS Client 112. In other configurations, the user device 102 may include a Media Session Handler 114 and a Media Stream Handler 116 without necessarily having a 5GMS Client 112.
[0022] The media session handler 114 is a module of the user device 102 that communicates with the 5GMS application functions (AFs) to establish, control, and / or support communication and / or delivery of media during a media session. For at least some configurations, the media session handler 114 may perform additional functions, such as collecting and reporting consumption and quality of experience (QoE) metrics. The media session handler 114 may also provide network assistance, such as for downlink streaming delivery, and / or by providing bitrate recommendations and / or estimations. Additionally or alternatively, for at least some configurations, the media session handler 114 may expose one or more APIs for use by the 5GMS-aware application 110.
[0023] The Media Stream Handler 116 is a module of the user device 102 that communicates with a 5GMS Application Server (AS) to perform downlink and / or uplink streaming of media content. The Media Stream Handler 116 may also provide services to the 5GMS-aware applications 110 for media capture and uplink streaming, and to the Media Session Handler 114 for media session control. Also, for at least some configurations, the Media Stream Handler 116 may be configured with a media player to handle the media content streaming, and / or provide one or more APIs to the 5GMS-aware applications 110 for media playback, and / or provide one or more APIs to the Media Session Handler 114 for media session control.
[0024] The Edge DN 104 is a local data network including one or more computing devices that support and / or include an architecture configured to enable edge applications and / or perform edge computing or processing. The Edge DN 106 may include one or more 5GMS Application Functions (AFs) 118 and / or one or more Application Servers (ASs) 120. In the example configuration of FIG. 1, the Edge DN 106 includes one 5GMS AF 118 and two ASs 120(1), 120(2). Other configurations of one or more 5GMS AFs 118 and / or one or more 5GMS ASs 120 may be possible.
[0025] In general, the 5GMS AF 118 is a module that provides control functions to the media session handler 114 of the user device 102 and / or the 5GMS application provider 108 of the data network 102. For at least some configurations, the 5GMS AF 118 can relay or initiate requests for various Policy or Charging Function (PCF) actions.
[0026] Also, generally, the 5GMS AS 120 is an application server dedicated to 5G media streaming and hosts 5G media functions. The 5GMS AS 120 may communicate with the media stream handler 116 to stream media content. Additionally or alternatively, the 5GMS AS 120 may perform content hosting, including, but not limited to, ingesting media content from the 5GMS application provider 108 and caching the media content to reduce repeated ingests of the same content.
[0027] The edge-enabled 5GMS system 100 may also include multiple interfaces or APIs M that are used by the 5GMS components to communicate with each other. As shown in FIG. 1, each Mi (where i is an integer) may be used between each two of the 5GMS components.
[0028] M1 is used to provide data structures from the 5GMS Application Provider 108 to the 5GMS AF that configure the capabilities of the 5GMS-aware application 110 during a provisioning session. The M1 interface can enable the 5GMS Application Provider 108 to provision and obtain feedback on the use of the edge-enabled 5GMS system 100 for downlink and uplink media streaming. Additionally or alternatively, the 5GMS Application Provider 108 can use the M1 interface to provision resources in the edge DN 106 for the 5GMS-aware application 110, such as by configuring an edge processing resource template. For at least some configurations, the 5GMS application provider 108 can configure through the M1 interface: one or more conditions for edge processing activation, such as traffic descriptors, application identifiers, or geographic location of the user device 102; a selection of client-driven or AF-driven management; EAS profile information for each EAS 124 that services the application, such as service key performance indicators (KPIs), geographic location, and service continuity support; and / or application context relocation tolerances and requirements.
[0029] The M2 interface is an interface between the 5GMS 108 and the 5GMS AS 120 through which the 5GMS AS 120 retrieves media content from the 5GMS application provider 108.
[0030] The M3 interface is an interface between the 5GMS AF 118 and the 5GMS AS 120 and is used to exchange information for content hosting on the 5GMS AS 120. The M3 interface may also be used to enable selection of an appropriate one of multiple 5GMS AS 120 for a media session.
[0031] The M4 interface M4 is an interface between the 5GMS AS 120 and the media stream handler 116. The M4 interface is used to communicate one or more media streams of media content between the 5GMS AS 120 and the media stream handler 116 (in the uplink and / or downlink direction).
[0032] The M5 interface M5 is an interface between the 5GMS AF 118 and the media session handler 114 used to communicate information for processing, controlling, reporting, and assisting the media session. The 5GMS AF 118 and the media session handler 114 may also use the M5 interface to implement one or more security, authorization, and / or authentication mechanisms for the media session and / or report QoE metrics. Additionally or alternatively, the 5GMS AF 118 may communicate service access information to the media session handler 114 through the M5 interface to share configuration information regarding edge processing. Additionally or alternatively, the 5GMS AF 118 may use the M5 interface to communicate consumption reporting and / or metrics reporting configuration information provisioned through the M1 interface and passed by the 5GMS AF 118 to the 5GMS client 112.
[0033] The M6 interface is an interface between the Media Session Handler 114 and the Media Stream Handler 116 and / or between the Media Session Handler 114 and the 5GMS-aware Application 110 for communication between two or more of the 5GMS-aware Application 110, the Media Session Handler 114, and the Media Stream Handler 116. The Media Session Handler 114 and / or the Media Stream Handler 116 may use the M6 interface to configure the 5GMS-aware Application 110 with 5GMS functionality or otherwise enable the 5GMS-aware Application 110 to utilize 5GMS functionality. Additionally or alternatively, the M6 interface may be used to configure 5GMS-related data reporting for the 5GMS-aware Application 110.
[0034] The M7 interface is an interface between the Media Session Handler 114 and the Media Stream Handler 116, and between the Media Stream Handler 116 and the 5GMS-aware Application 110. The M7 interface may allow the Media Session Handler 114 and / or the 5GMS-aware Application 110 to utilize the media player of the Media Stream Handler 116 and / or be used for configuration of QoE metrics to be measured and logged and / or collection of metric measurement logs by the User Device 106. Additionally or alternatively, the M7 interface may be used to configure, activate, and / or deactivate media capture, media encoding, and / or media upstream client functionality.
[0035] The M8 interface is an interface between a 5GMS application provider 108 and a 5GMS aware application 110. In any of various configurations, the 5GMS application provider 108 can use the M8 interface to provide a variety of information directly to the 5GMS aware application 110, including, by way of non-limiting example, service access information, remote control commands, and service announcement information.
[0036] In addition, as mentioned above, the 5GMS system 100 of FIG. 1 may be edge-enabled and / or capable of performing edge processing to perform 5G media streaming. The 5GMS system 100 may be edge-enabled by being configured with an edge component that provides edge computing or processing capabilities to one or more of the 5GMS components. In this regard, the 5GMS AF 118 and the 5GMS AS 120 may each be an edge-enabled component and / or configured to perform edge processing, as indicated by being part of the edge DN 106. In addition, the user device 102 may be edge-enabled by being able to communicate with at least the edge-enabled 5GMS 118 and the edge-enabled 5GMS AS 120 for media streaming. The 5GMS AF 118 may be an edge-enabled component by including at least a first type of edge component referred to as an edge enabler server (EES) 122. Each 5GMS AS 120 may also be edge-enabled by including a second type of edge component referred to as an edge application server (EAS) 124. Additionally, the user device 102 may also be edge-enabled by including a third and fourth type of edge component referred to as an edge enabler client (EEC) 126 and / or an application client 128, respectively. The edge component may also include an edge configuration server (ECS) 130. These edge components may communicate with each other according to one or more specifications, standards, and / or protocols, such as, for example, 3GPP TS 23.558.
[0037] In general, the EES 122 is configured to support or perform functions that support the operation of the EAS(s) 124 and the EECs 126, including provisioning configuration information to the EECs 126 and / or enabling exchange of application data traffic with the EAS 124. For at least some embodiments, the EES 122 may also perform additional functions such as, by way of non-limiting examples, interacting with a core network (not shown in FIG. 1 ) to access network function capabilities, performing context transfer with the EECs 126, supporting external exposure of network and service capabilities to the EAS(s), registration functions (including registration, update, and deregistration for the EECs 126 and the EAS(s) 124), and / or triggering EAS instantiation on demand. Other functions performed by the EES 122 may also be possible.
[0038] In addition, generally, the EAS 124 is configured to connect to the user device 102 to serve 5G MS-aware applications using edge computing capabilities. In addition, the EAS 124 may consume core network capabilities, such as by invoking core network capabilities via an edge enabler layer through the EES 122, directly invoking core network capability APIs, and / or invoking core network capabilities through a capability publishing function. Additionally or alternatively, the EAS 124 may expose its service APIs towards other EASs 124, such as by supporting an API provider domain function. Additionally or alternatively, the EAS 124 may consume EAS service APIs exposed by other EASs, such as by supporting an API invocation function. Other functions or operations performed by the EAS 124 may also be possible.
[0039] Additionally, the EEC 126 is a module of the user device 102 configured to retrieve configuration information to enable exchange of application data traffic with the EAS 124. Additionally, the EEC 126 may be configured to discover available EASs 124 in the edge DN 106. Additionally or alternatively, the EEC 126 may be configured to detect mobility events of the user device 106. For at least some configurations, such as that shown in FIG. 1, the EEC 126 may be part of or a component of the media session handler 114 of the user device 102, although other configurations in which the EEC 126 is a separate component from the media session handler 114 may be possible.
[0040] Additionally, an application client (AC) 128 is a module of the user device 102 that locates and / or connects to one or more EASs 124. For example, the AC 128 may decide to connect to the EAS 124 that it determines is most suitable to service the needs of the 5GMS awareness application 110. For at least some configurations, such as that shown in FIG. 1, the AC 128 may be part of or a component of the 5GMS awareness application 110, although other configurations in which the AC 128 is a separate component from the 5GMS awareness application 110 may be possible.
[0041] Additionally, generally, the ECS 130 is a module that provides support functionality for the EEC 126 to connect with the EES 122. As an example, the ECS 130 may provision the EEC 126 with edge configuration information. For at least some configurations, the edge configuration information may include at least one of information for the EEC 126 to differentiate between multiple EESs 126 or information for establishing a connection with one or more EESs 122. In some configurations, the ECS 130 may also support registration, renewal, and / or deregistration of the EES 122 and / or interact with the core network to access network function capabilities. Other functions of the ECS 130 may also be possible. For at least some configurations, such as that shown in FIG. 1, the ECS 130 is a separate component from each of the user device 102, the DN 104, and the edge DN 106, although other configurations in which the ECS 130 is a component of the user device 102, the DN 104, or the edge DN 106 may be possible.
[0042] Additionally, similar to the “M” interfaces used by the 5GMS components, edge components can communicate with each other through multiple edge interfaces or APIs. As shown in Figure 1, each edge interface is denoted as EDGE-j, where j is an integer.
[0043] EDGE-1 is an interface between the EES 122 and the EEC 126. EDGE-1 may be used by the EES 122 and the EEC 126 to register and deregister the EEC 126 with the EES 122, obtain and provision EAS configuration information, discover available EASs 124 at the edge DN 106, and / or communicate information regarding service continuity procedures.
[0044] The EDGE-3 is an interface between the EES 122 and the EAS 124. The EES 122 and the EAS 124 may use the EDGE-3 to request the setup of a data session between the AC 128 and the EAS 124, including registering the EAS 124 with the EES 122 (which may include registering availability information such as time constraints and / or location constraints); deregistering the EAS 124 from the ESS; performing discovery of target EAS (T-EAS) information to support application context transfer (ACT); providing access to network capability information (such as location information); and / or communicating QoS information. Other information may be communicated and / or other functions may be performed using the EDGE-3.
[0045] The EDGE-4 is an interface between the EEC 126 and the ECS 130. The ECS 130 can provision the EEC 126 with edge configuration information using the EDGE-4.
[0046] The EDGE-5 is the interface between the EEC 126 and the application client 128 .
[0047] The EDGE-6 is an interface between the EES 122 and the ECS 130. The EES 122 and the ECS 130 may use the EDGE-6 to register the EES 122 with the ECS 130; to deregister the EES 122 from the ECS 130; and / or to retrieve target ESS information from the ECS 130.
[0048] EDGE-9 is the interface between two EESs 122. The two EESs 122 can use EDGE-9 to discover target EAS information supporting application context relocation (ACR); to perform EES context relocation procedures; and / or for transparent transfer of application context during ACR managed at the edge enabler layer (EEL).
[0049] Other edge interfaces, including those between edge components and a core network not shown in FIG. 1, may be part of the edge-enabled 5GMS system 100 or may be used in other ways by the edge-enabled 5GMS system 100 in various other exemplary configurations.
[0050] Additionally, as used herein, service access information is a collection of one or more parameters and / or addresses used by the user device 102, for example, by the 5GMS client 112, to activate and control a streaming session. For at least some example configurations, the service access information may also include one or more parameters and / or addresses used to report services, content, and / or QoE metrics. In some configurations, the user device 102 may receive the service access information directly from the DN 104. In other configurations, the user device 102 may receive the service access information from the 5GMS AF 118 of the edge DN 106. By being edge-enabled, the media session handler 114 of the user device 102 may be configured to use the service access information to determine whether the media streaming session meets eligibility criteria for requesting edge resources.
[0051] As mentioned above, the 5GMS components can communicate with each other via multiple Mi interfaces (e.g., APIs). In some implementations, the 5GMS-aware application 110 can use the M6 interface to cause or configure the media session handler 114 to discover and / or instantiate a new EAS 124 using the EEC 126 and / or via the EDGE-1 interface through the EES 122 and without interaction with the 5GMS AF 118. This, in turn, can allow for a more efficient EAS discovery process. In general, the EAS 124 is instantiated when an application can be executed to stream media with the user device 102. In specific implementations, when the 5GMS-aware application streams media content during a streaming session, the EAS 124 may be instantiated for that streaming session when an application can be executed that allows the EAS 124 to stream media content with or for the 5GMS-aware application.
[0052] FIG. 2 is a flow chart of an example method 200 of media streaming. The method 200 may be performed by a user device 102 that desires to stream media (in a downlink and / or uplink direction) during a streaming session. In block 202, the user device 102 may determine to identify or discover one or more available EASs 124 and / or target EAS 124 from among the one or more available EASs 124 for the streaming session. In some implementations, the user device 102 may determine to identify one or more available EASs 124 and / or target EAS 124 in response to receiving service access information from the edge DN 106. For example, the media session handler 114 may receive the service access information from the 5GMS AF 118 via an M5 interface. The service access information may also indicate to the user device 102 that an edge service may be available to the user device 102, which may then prompt the user device 102 to desire to discover one or more available EASs 124 for a streaming session and / or select a target EAS 124 from among the one or more available EASs 124. For some implementations, the media session handler 114 may also indicate the availability of the edge service to the 5GMS-aware application 110, such as via an M6 interface. In particular, in these implementations, the media session handler 114 may provide at least one of the following parameters to the 5GMS-aware application via the M6 interface: a list of one or more providers of one or more EAS instances 124; one or more EAS types; or one or more EAS features. Table 1 below provides a list of such parameters. [Table 1] One or more of the parameters may be for a particular provisioning session, as shown in Table 1. Additionally or alternatively, one or more of the parameters that the media session handler 114 provides to the 5GMS-aware application 110 may be included in service access information that the 5GMS AF 118 provides to the media session handler 114 over the M5 interface.
[0053] The 5GMS-aware application 110 may respond to the media session handler 114 with a request to utilize the edge service, such as via the M6 interface. In this manner, the 5GMS-aware application 110 may trigger discovery of an EAS instance 124, such as via the M6 interface. In some implementations, the 5GMS-aware application 110 may include an application client type (e.g., _acType as defined in 3GPP TS24.558) with its request. In response, the media session handler 114 may instruct or request the EEC 126 to send a discovery request for a list of available EASs 124. The media session handler 114 may send the instruction or request to the EEC 126 using an internal API transmission.
[0054] At block 204, the user device 102 may transmit a discovery request to receive a list of one or more available EASs for participating in the streaming session. The user device 102 may send the discovery request over the EDGE-1 interface. For example, the EEC 126 may transmit a discovery request to the EES 122 of the edge DN 106 over the EDGE-1 interface. The discovery request may include one or more discovery filters, each of which includes characteristics that an available EAS 124 is desired to have or be associated with. Non-limiting examples of EAS filters include EAS provider identification (ID) identifying acceptable providers of 5GMS EAS instances, which may include those associated with a particular provisioning session; one or more EAS types; one or more EAS features that the EAS 124 has or supports; service key performance indicators (KPIs) including one or more service characteristics; one or more service areas including one or more geographic areas served by the EAS 124; a service availability schedule for the EAS 124, or service continuity scenarios including one or more application context relocation scenarios supported by the EAS. The discovery request may also include specific values for each discovery filter.
[0055] At block 206, the user device 102 may receive a discovery response from the edge DN 106, where the discovery response may include the requested list of one or more available EASs 124. For example, the EEC 126 may receive the discovery response from the EES 122 via the EDGE-1 interface. In this manner, the user device 102 may interact with the edge DN 106 to perform discovery without interacting with the 5GMS AF 118 in addition to the EES 122 via the EDGE-1 interface. Additionally, each of the one or more available EASs 124 identified in the list may have been determined by the edge DN as satisfying the discovery request. The edge DN 106 may perform discovery filter value matching that attempts to match discovery filter values included in the discovery filter request with characteristics of the candidate EASs 124. Generally, as used herein, a candidate EAS 124 is an EAS 124 that the edge DN 106 is aware of as potentially satisfying the discovery request before discovery value matching is performed. The edge DN 106 may use any of a variety of criteria to determine whether a given candidate EAS 124 satisfies the discovery request, such as, by way of non-limiting example, identifying that the candidate EAS matches a threshold number of discovery request filter values.
[0056] At block 208, the user device 102, such as with the EEC 126 and / or the media session handler 114, may select a target EAS 124 from among the one or more available EASs 124 included in the discovery response. The user device 102 may select the target EAS 124 by determining that the target EAS 124 is the best or most preferred EAS 124 for the streaming session among the one or more listed available EASs 124. The user device 102 may use any of a variety of criteria for selecting the target EAS 124. At block 210, the user device 102 may stream media (in a downlink direction and / or an uplink direction) during a streaming session with the target EAS 124. For example, the media stream handler 116 may stream media with the target EAS 124 over an M4 interface. In some implementations, such as block 208 or part of block 210, the media session handler 114 may acknowledge the target EAS 124 to the 5GMS-aware application 110, such as via an M6 interface. For example, the media session handler 114 may indicate to the 5GMS-aware application 110 that it has selected or otherwise determined the target EAS 124 for the streaming session, explicitly identifying the target EAS 124, such as with an EAS ID of the target EAS 124, and / or may confirm or acknowledge to the 5GMS-aware application 110 that it is using or will be using an edge service for the streaming session.
[0057] FIG. 3 is an interaction diagram of a method 300 for discovering a target EAS 124. At block 302, the 5GMS AF 118 can provide service access information to the media session handler 114 via an M5 interface. As previously described, the service access information can indicate edge service availability information to the user device 102. For example, the service access information may include one or more of: a list of 5GMS application providers, one or more types of EAS instances 124, or one or more EAS features provided or supported by one or more EAS instances 124. The service access information can be associated with a particular provisioning session, as previously described. At block 304, in response to receiving the service access information, the media session handler 114 can provide an indication of edge service availability to the 5GMS-aware application 110, such as via an M6 interface. In at least some implementations, the indication can include at least one of a list of 5GMS application providers, the one or more EAS types, or the one or more EAS features included in the service access information.
[0058] At block 306, the 5GMS-aware application 110 may request the use of an edge service via the M6 interface. In this manner, the 5GMS-aware application 110 may trigger discovery of an available EAS 124 via the M6 interface. Additionally, for at least some implementations, the request from the 5GMS-aware application may include an application client type (acType) of the application client 128 of the 5GMS-aware application 110. At block 308, the media session handler 114 may send a request to the EEC 128 via an internal API to request an available EAS 124. At block 310, the EEC 128 may send a discovery request to the EES 122 via the EDGE-1 interface. The discovery request may include one or more discovery filters and associated values for the available EASs to satisfy. At block 312, the EEC 126 may receive a discovery response request including a list of one or more available EASs 124 that satisfy the discovery request from the EES 122 via the EDGE-1 interface. At block 314, the media session handler 114 and / or the EEC 126 may select a target EAS 124 from among the one or more available EASs 124 indicated in the discovery response. The target EAS 124 may be the best or most suitable EAS 124 from among the one or more available EASs 124 for a streaming session with the 5GMS-aware application 110. The media session handler 114 and / or the EEC 126 may use any of a variety of criteria to make the selection, as previously discussed. At block 316, the media session handler 114 may acknowledge the edge service user and / or the target EAS 124 to the 5GMS-aware application 110 via the M6 interface.
[0059] Thus, implementations described herein may include a 5GMS-aware application 110 of a user device 102 configured to discover and / or instantiate one or more EASs 124. The M6 interface may be used to indicate to the 5GMS-aware application 110 that an edge service is available, such as by providing information about the serve server providers, their types, and / or available EAS features. The 5GMS-aware application 110 may trigger discovery of an available EAS 124 using the M6 interface by providing its application type. Additionally, the media session handler 114 may discover the EAS 124 using one or more 5G edge server discovery interfaces (e.g., one or more APIs) and / or acknowledge discovery and / or use of the discovered EAS 124 to the 5GMS-aware application 110.
[0060] Furthermore, as used herein, the term module refers to an electronic device, implemented solely in hardware or a combination of hardware and software, configured to implement or perform one or more functions or operations. For example, a module may include circuitry, digital logic circuitry, a processor (e.g., a central processing unit (CPU)) or controller configured to execute computer-executable instructions, memory that stores computer-executable instructions configured to be executed by a processor or controller, or any of various combinations thereof.
[0061] Additionally, the techniques described above may be implemented as computer software using computer readable instructions and physically stored on one or more computer readable media. For example, FIG. 4 illustrates a computer system 400 suitable for implementing certain embodiments of the disclosed subject matter.
[0062] Computer software may be coded using any suitable machine code or computer language and may be subject to assembly, compilation, linking, or similar mechanisms to produce code containing instructions that are executable by one or more computer central processing units (CPUs), graphics processing units (GPUs), etc., either directly, or through interpretation, microcode execution, etc.
[0063] The instructions may be executed on various types of computers or components thereof including, for example, personal computers, tablet computers, servers, smart phones, gaming devices, Internet of Things devices, and the like.
[0064] 4 for computer system 400 are exemplary in nature and are not intended to suggest any limitation as to the scope of use or functionality of the computer software implementing the embodiments of the present disclosure, nor should the arrangement of components be interpreted as having any dependency or requirement regarding any one or combination of components illustrated in the exemplary embodiment of computer system 400.
[0065] Computer system 400 may include certain human interface input devices that may be responsive to input by one or more human users through, for example, tactile input (e.g., keystrokes, swipes, data glove movements), audio input (e.g., voice, clapping), visual input (e.g., gestures), and olfactory input (not shown). Human interface devices may also be used to capture certain media that are not necessarily directly related to conscious human input, such as audio (e.g., speech, music, ambient sounds), images (e.g., scanned images, photographic images obtained from still image cameras), and video (e.g., two-dimensional video, three-dimensional video including stereoscopic video).
[0066] The input human interface devices may include one or more of a keyboard 401, a mouse 402, a trackpad 403, a touch screen 410, a data glove (not shown), a joystick 405, a microphone 406, a scanner 407, and a camera 408 (only one of each is shown).
[0067] The computer system 400 may also include some type of human interface output device. Such human interface output devices may stimulate one or more of the human user's senses, for example, through tactile output, sound, light, and smell / taste. Such human interface output devices may include haptic output devices (e.g., haptic feedback via a touch screen 410, data gloves (not shown), or joystick 405; however, there may be haptic feedback devices that do not act as input devices), audio output devices (e.g., speakers 409, headphones (not shown)), visual output devices (e.g., screens 410, including CRT screens, LCD screens, plasma screens, OLED screens; each may or may not have touch screen input capabilities, each may or may not have haptic feedback capabilities, some of which may output two-dimensional visual output or higher than three-dimensional output through means such as stereoscopic output; virtual reality glasses (not shown), holographic displays, and smoke tanks (not shown)), and printers (not shown).
[0068] The computer system 400 may also include human accessible storage and associated media, such as optical media including CD / DVD ROM / RW 420 along with CD / DVD or similar media 421, thumb drives 422, removable hard drives or solid state drives 423, legacy magnetic media such as tapes and floppy disks (not shown), specialized ROM / ASIC / PLD based devices (not shown) such as security dongles, etc.
[0069] Those skilled in the art should also understand that the term "computer-readable medium" as used in connection with the presently disclosed subject matter does not encompass transmission media, carrier waves, or other transitory signals.
[0070] The computer system 400 may also include an interface 454 to one or more communication networks 455. The networks may be, for example, wireless, wired, optical. The networks may further be local, wide area, metropolitan, in-vehicle and industrial, real-time, delay tolerant, etc. Examples of networks include Ethernet, WLAN, cellular networks including GSM, 3G, 4G, 5G, LTE, etc., TV wired or wireless wide area digital networks including cable television, satellite television, terrestrial broadcast television, in-vehicle and industrial including CANBus, etc. Some networks typically require an external network interface adapter that is attached to some kind of general purpose data port or peripheral bus 449 (e.g., USB port of the computer system 400, etc.). Others are typically integrated into the core of the computer system 400 by attachment to a system bus as described below (e.g., an Ethernet interface to a PC computer system or a cellular network interface to a smartphone computer system). Using any of these networks, the computer system (400) may communicate with other entities. Such communications may be unidirectional, receive only (e.g., broadcast television), unidirectional transmit only (e.g., CANbus to certain CANbus devices), or bidirectional, for example, to other computer systems using local or wide area digital networks. With each of these networks and network interfaces as described above, certain protocols and protocol stacks may be used.
[0071] The aforementioned human interface devices, human accessible storage, and network interfaces may be attached to the core 440 of the computer system 400 .
[0072] The core 440 may include one or more central processing units (CPUs) 441, graphics processing units (GPUs) 442, specialized programmable processing units in the form of field programmable gate arrays (FPGAs) 443, hardware accelerators 444 for certain tasks, graphics adapters 450, etc. These devices may be connected through a system bus 448, along with read only memory (ROM) 445, random access memory 446, and internal mass storage devices 447, such as internal non-user accessible hard drives, solid state drives (SSDs), etc. In some computer systems, the system bus 448 may be accessible in the form of one or more physical plugs to allow expansion with additional CPUs, GPUs, etc. Peripheral devices may be attached directly to the core's system bus 448 or through a peripheral bus 449. In one example, a screen 410 may be connected to the graphics adapter 450. Architectures for peripheral buses include PCI, USB, etc.
[0073] The CPU 441, GPU 442, FPGA 443, and accelerator 444 may execute certain instructions that may combine to constitute the computer code described above. The computer code may be stored in ROM 445 or RAM 446. Temporary data may also be stored in RAM 446, while persistent data may be stored, for example, in internal mass storage device 447. Rapid storage and retrieval to any of the memory devices may be enabled through the use of cache memory, which may be closely associated with one or more of the CPU 441, GPU 442, mass storage device 447, ROM 445, RAM 446, etc.
[0074] The computer-readable medium can have computer code thereon for performing various computer-implemented operations. The medium and computer code may be those specially designed and constructed for the purposes of the present disclosure, or they may be of the kind well known and available to those having skill in the computer software arts.
[0075] As a non-limiting example, architecture 400, and specifically a computer system having core 440, can provide functionality as a result of processors (including CPUs, GPUs, FPGAs, accelerators, etc.) executing software embodied in one or more tangible computer readable media. Such computer readable media can be user accessible mass storage as introduced above as well as media associated with some type of storage of core 440 of a non-transitory nature such as core internal mass storage 447 or ROM 445. Software implementing various embodiments of the present disclosure can be stored in such devices and executed by core 440. Computer readable media can include one or more memory devices or chips depending on particular needs. The software can cause core 440, and specifically the processors therein (including CPUs, GPUs, FPGAs, etc.) to perform certain processes or certain specific portions thereof described herein, including defining data structures stored in RAM 446 and modifying such data structures according to processes defined by the software. Additionally or alternatively, a computer system may provide functionality as a result of logic hardwired or otherwise embodied in circuitry (e.g., accelerator 444), which may operate in place of or together with software to perform particular processes or portions of particular processes described herein. Reference to software includes logic, and vice versa, as appropriate. Reference to a computer-readable medium may encompass circuitry (e.g., an integrated circuit (IC)) that stores software for execution, circuitry that embodies logic for execution, or both, as appropriate. The present disclosure encompasses any suitable combination of hardware and software.
[0076] The subject matter of the present disclosure may also relate to or include, among other aspects, the following:
[0077] In a first aspect, a method for media streaming includes: sending, using a fifth generation media streaming (5GMS) aware application of a user device, a request to use an edge service to a media session handler of the user device via an M6 interface; after sending the request to use the edge service, sending, using an edge-enabler client (EEC) of the user device, a discovery request for one or more available edge application servers (EAS); receiving, using the EEC, a discovery response indicating the one or more available EASs; selecting, using at least one of the EEC or the media session handler, a target EAS from among the one or more available EASs indicated in the discovery response; and streaming, using the user device, media content communicated using the target EAS.
[0078] A second aspect includes the first aspect, and further includes that sending the discovery request is triggered by sending a request to use the edge service from the 5G MS-aware application to the media session handler via the M6 interface.
[0079] A third aspect includes any of the first or second aspects, and further includes the request to use the edge service includes an application client type of the 5G MS aware application.
[0080] A fourth aspect includes any of the first to third aspects, further including sending, using the media session handler, an indication of the availability of the edge service to the 5G MS-aware application.
[0081] A fifth aspect includes the fourth aspect, further including the indication being sent between the 5G MS-aware application and the media session handler over the M6 interface.
[0082] A sixth aspect includes any of the fourth or fifth aspects, and further includes that the instructions include at least one of: a list of one or more providers of the one or more EAS instances; one or more EAS types; or one or more EAS features.
[0083] A seventh aspect includes any of the fourth to sixth aspects, and further includes receiving service access information from a 5GMS Application Function (AF) using the media session handler, and the indication is sent to the 5GMS aware application in response to receiving the service access information.
[0084] An eighth aspect includes any of the first to seventh aspects, and further includes that the discovery request and the discovery response are both communicated over an EDGE-1 interface between the EEC and an Edge Enabler Server (EES).
[0085] A ninth aspect includes any of the first to eighth aspects, further including using the media session handler to acknowledge use of the target EAS to the 5G MS-aware application.
[0086] A tenth aspect involves a media streaming device including a memory storing a plurality of instructions and a processor configured to execute the plurality of instructions, the processor configured, upon execution of the plurality of instructions, to implement any of the first to ninth aspects.
[0087] An eleventh aspect includes a non-transitory computer-readable storage medium storing a plurality of instructions executable by a processor, the plurality of instructions being configured, upon execution, to cause the processor to implement any of the first through ninth aspects.
[0088] In addition to the features mentioned in each of the independent aspects listed above, some examples may exhibit optional features mentioned in dependent aspects and / or disclosed in the above description and illustrated in the figures, either alone or in combination.
[0089] While this disclosure has described several exemplary embodiments, there are alterations, permutations, and various substitute equivalents that fall within the scope of this disclosure. Thus, it will be appreciated that those skilled in the art can devise numerous systems and methods that, although not explicitly shown or described herein, embody the principles of the present disclosure and are thus within the spirit and scope of the present disclosure.
[0090] Appendix A: Acronyms 3GPP: Third Generation Partnership Project 5GMS: Fifth Generation Media Streaming AC: Application Client ACR: Application Context Relocation ACT: Application Context Transfer AF: Application Function AS: Application Server DN: Data Network EAS: Edge Application Server ECS: Edge Configuration Server EEC: Edge Enabler Client EEL: Edge Enabler Layer EES: Edge Enabler Server KPI: Key Performance Indicator UE: User Equipment
Claims
1. 1. A method for media streaming, comprising: sending, using a fifth generation media streaming (5GMS) aware application of a user device, a request to use an edge service to a media session handler of the user device via an M6 interface; after sending the request to use the edge service, sending, using an edge enabler client (EEC) of the user device, a discovery request for one or more available edge application servers (EAS); receiving, using the EEC, a discovery response indicating the one or more available EASs; selecting, using at least one of the EEC or the media session handler, a target EAS from among the one or more available EASs indicated in the discovery response; and streaming, using the user device, media content communicated using the target EAS. method.
2. 2. The method of claim 1, wherein sending the discovery request is triggered by sending a request to use the edge service from the 5G MS-aware application to the media session handler via the M6 interface.
3. The method of claim 1 , wherein the request to use the edge service includes an application client type of the 5GMS-aware application.
4. 4. The method of claim 1, further comprising the step of: using the media session handler to send information indicating the availability of the edge service to the 5G MS-aware application.
5. The method of claim 4 , wherein the availability indication is transmitted between the 5G MS-aware application and the media session handler over the M6 interface.
6. 5. The method of claim 4, wherein the availability information includes at least one of: a list of one or more providers of one or more EAS instances; one or more EAS types; or one or more EAS features.
7. and receiving service access information from a 5GMS Application Function (AF) using the media session handler; the availability indication is transmitted to the 5GMS aware application in response to receiving the service access information. The method according to claim 4.
8. The method of claim 1 , wherein the discovery request and the discovery response are both communicated over an EDGE-1 interface between the EEC and an Edge Enabler Server (EES).
9. 2. The method of claim 1, further comprising: acknowledging use of the target EAS to the 5G MS-aware application using the media session handler.
10. A memory storing a plurality of instructions; a processor configured to execute said instructions; and wherein the instructions are for causing the processor to perform a method according to any one of claims 1 to 9. Device.
11. A computer readable storage medium storing a computer program for causing a processor to carry out the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Efficient Discovery of Edge Computing Servers
US20210307018A1
Methods for discovery of media capabilities of 5g edge
US20210352113A1