Method and system for monitoring, reporting, and notification of cloud platform system variables and events

By extending the NBMP application programming interface (API) to add variable descriptors and extend the MPE capability API in the cloud platform, the problem of lack of monitoring, reporting and notification of system-level variables and events in the existing technology is solved, and effective monitoring, reporting and notification of system-level variables and events in the cloud platform is realized.

CN116249965BActive Publication Date: 2025-10-21TENCENT AMERICA LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202280006531.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-03-25
Filing Date
2022-04-07
Publication Date
2025-10-21
Estimated Expiration
2042-04-07

AI Technical Summary

Technical Problem

Existing network and cloud platform standards fail to effectively support the monitoring, reporting, and notification of system-level variables and events based on cloud platforms, and lack methods for such monitoring, reporting, and notification.

Method used

Extend the NBMP Application Programming Interface (API) to send requests through the NBMP Media Processing Entity (MPE) API to implement monitoring, reporting, and notification. Add variable descriptors to the MPE capability descriptions. Provide operations for creating, updating, and destroying MPE monitoring, reporting, and notification schemes. Extend the MPE capability API to support the monitoring, reporting, and notification of system-level variables and events.

Benefits of technology

It enables effective monitoring, reporting, and notification of system-level variables and events on the cloud platform, and supports the creation, updating, and destruction of monitoring, reporting, and notification schemes for system-level variables and events in MPE, thereby improving the management and monitoring capabilities of the cloud platform.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116249965B_ABST
    Figure CN116249965B_ABST
Patent Text Reader

Abstract

Systems and methods are provided for monitoring, reporting, and notification of media processing entities (MPEs) using system variables and events. According to embodiments, a schema for monitoring, reporting, and notification can be created, updated, and deleted using an MPE application programming interface (API). According to embodiments, values of variables of an MPE or states of events of an MPE can be sent by the MPE and received from the MPE based on a schema being implemented during monitoring, or as part of reporting, or as part of notification.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. Provisional Application No. 63 / 218,803, filed on July 6, 2021, and U.S. Application No. 17 / 704,707, filed on March 25, 2022, the entire disclosures of which are incorporated by reference into this application in their entirety. Technical Field

[0003] Embodiments of the present disclosure relate to a set of systems and methods for monitoring, reporting, and notification of a cloud platform using system variables and events. Background Art

[0004] Networks and cloud platforms are used to run various applications. Although the network-based media processing (NBMP) standard defines a method for discovering cloud platform capabilities, it currently does not support monitoring, reporting, and notification of system-level variables and events on the cloud platform.

[0005] Furthermore, while current standards make it possible to discover cloud node capabilities, there has previously been no way to establish monitoring, reporting, and notification using the nodes' system variables and events. Summary of the Invention

[0006] Embodiments of the present disclosure extend NBMP application programming interfaces (APIs) for establishing, updating, and destroying monitoring, reporting, and notification schemes for notifying values ​​of variables and events.

[0007] According to an embodiment, a method performed by at least one processor implementing a network-based media processing (NBMP) workflow manager is provided. The method includes: sending a request to the NBMP media processing entity (MPE) using an application programming interface (API) of the MPE to implement at least one of a monitoring, reporting, and notification scheme, causing the MPE to perform at least one of the monitoring, reporting, and notification scheme; and receiving, during the monitoring, or as part of the reporting, or as part of the notification, a value of an MPE variable or a status of an MPE event from the MPE based on the scheme being implemented. The request includes at least one of an MPE variable and an MPE event, and the MPE variable includes at least one MPE capability.

[0008] According to one or more embodiments, the method further includes requesting an MPE update solution using an NBMP MPE API.

[0009] According to one or more embodiments, the method further includes sending a request to the MPE using the NBMP MPE API to destroy the solution.

[0010] According to one or more embodiments, an MPE variable is a system-level variable of the MPE, and an event is a system-level event of the MPE.

[0011] According to one or more embodiments, the method further includes receiving a response to the request from the MPE, the response indicating whether the MPE successfully implemented the solution.

[0012] According to one or more embodiments, the method further includes sending a request to the MPE using the NBMP MPE API to retrieve MPE capabilities.

[0013] According to one or more embodiments, sending a request to the MPE to retrieve MPE capabilities includes sending an MPE capabilities description to the MPE, the MPE capabilities description including a first descriptor including MPE implementation-specific variables of the MPE.

[0014] According to one or more embodiments, the MPE capability description further includes a second descriptor listing the MPE capabilities, wherein variables in the first descriptor specific to the MPE implementation are not included in the second descriptor.

[0015] According to one or more embodiments, variables specific to an MPE implementation indicate the hardware capabilities of the MPE.

[0016] According to one or more embodiments, the method further includes receiving a response from the MPE to the request to retrieve the MPE capabilities, wherein the response includes an updated version of the MPE capabilities description.

[0017] According to an embodiment, a system is provided. The system includes: at least one memory configured to store computer program code; and at least one processor configured to access the computer program code and operate according to instructions of the computer program code. The computer program code includes: creating a request code configured to cause a network-based media processing (NBMP) workflow manager implemented by the at least one processor to send a request to an NBMP media processing entity (MPE) using an MPE application programming interface (API) to implement at least one of monitoring, reporting, and notification schemes, causing the MPE to perform at least one of monitoring, reporting, and notification; and obtaining code configured to cause the NBMP workflow manager to obtain, from the MPE, a value of an MPE variable or a status of an MPE event based on the scheme being implemented during monitoring, as part of reporting, or as part of notification. The request includes at least one of an MPE variable and an MPE event, and the MPE variable includes at least one MPE capability.

[0018] According to one or more embodiments, the computer program code further includes an update request code configured to cause the NBMP workflow manager to request an MPE update solution using the NBMP MPE API.

[0019] According to one or more embodiments, the computer program code further includes a deletion request code configured to cause the NBMP workflow manager to send a request to the MPE to destroy the solution using the NBMP MPE API.

[0020] According to one or more embodiments, an MPE variable is a system-level variable of the MPE, and an event is a system-level event of the MPE.

[0021] According to one or more embodiments, the computer program code further includes capability request code configured to cause the NBMP workflow manager to send a request to the MPE using the NBMP MPE API to retrieve MPE capabilities.

[0022] According to one or more embodiments, the capability request code is configured to cause the NBMP workflow manager to send an MPE capability description to the MPE, the MPE capability description comprising a first descriptor comprising MPE implementation-specific variables of the MPE.

[0023] According to one or more embodiments, the MPE capability description further includes a second descriptor listing the MPE capabilities, wherein variables in the first descriptor specific to the MPE implementation are not included in the second descriptor.

[0024] According to one or more embodiments, variables specific to an MPE implementation indicate the hardware capabilities of the MPE.

[0025] According to an embodiment, a non-transitory computer-readable medium is provided, storing computer code, which, when executed by at least one processor, causes the at least one processor to implement a network-based media processing (NBMP) workflow manager:

[0026] The network-based NBMP workflow manager sends a request to the NBMP media processing entity (MPE) using an MPE application programming interface (API) to implement at least one of monitoring, reporting, and notification, causing the MPE to perform at least one of monitoring, reporting, and notification; and receives, during monitoring, as part of reporting, or as part of notification, a value of an MPE variable or a status of an MPE event from the MPE based on the implemented scheme. The request includes at least one of an MPE variable and an MPE event, and the MPE variable includes at least one MPE capability.

[0027] According to one or more embodiments, the computer code is further configured to cause the NBMP workflow manager to request an MPE update solution using the NBMP MPE API. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] Further features, nature, and various advantages of the disclosed subject matter will become more apparent from the following detailed description and accompanying drawings, in which:

[0029] Figure 1 is a diagram of an environment in which the methods, apparatus, and systems described herein may be implemented, according to an embodiment.

[0030] Figure 2 yes Figure 1 A block diagram of example components of one or more devices.

[0031] Figure 3 is a block diagram of an NBMP system according to an embodiment.

[0032] Figure 4 is a block diagram of computer code according to an embodiment. DETAILED DESCRIPTION

[0033] Figure 1 FIG is a diagram of an environment 100 in which the methods, apparatuses, and systems described herein may be implemented, according to an embodiment. Figure 1 As shown, environment 100 may include user device 110, platform 120, and network 130. The devices in environment 100 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.

[0034] User device 110 includes one or more devices that can receive, generate, store, process, and / or provide information associated with 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 smart watch), or the like. In some embodiments, user device 110 can receive information from platform 120 and / or send information to platform 120.

[0035] The platform 120 includes one or more devices as described elsewhere in this disclosure. In some embodiments, the platform 120 may include a cloud server or a group of cloud servers. In some embodiments, the platform 120 may be designed to be modular so that software components can be swapped in and out based on specific needs. Thus, the platform 120 may be easily and / or quickly reconfigured for different uses.

[0036] In some embodiments, as shown, the platform 120 can be hosted in a cloud computing environment 122. It is worth noting that while the embodiments described herein describe the platform 120 as being hosted in a cloud computing environment 122, in some embodiments, the platform 120 may not be cloud-based (i.e., may be implemented outside of a cloud computing environment) or may be partially cloud-based.

[0037] Cloud computing environment 122 includes an environment hosting platform 120. Cloud computing environment 122 can provide computing, software, data access, storage, and other services without requiring end users (e.g., user devices 110) to be aware of the physical location and configuration of the system(s) and / or device(s) hosting platform 120. As shown, cloud computing environment 122 can include a set of computing resources 124 (collectively, "computing resources 124" and individually, "computing resource 124").

[0038] Computing resources 124 include one or more personal computers, workstation computers, server devices, or other types of computing and / or communication devices. In some embodiments, computing resources 124 can host platform 120. Cloud resources can include computing instances executed in computing resources 124, storage devices provided in computing resources 124, data transmission devices provided by computing resources 124, etc. In some embodiments, computing resources 124 can communicate with other computing resources 124 via wired connections, wireless connections, or a combination of wired and wireless connections.

[0039] like Figure 1 As further shown in FIG, the computing resources 124 include a set 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, or one or more hypervisors (“HYPs”) 124-4.

[0040] Applications 124-1 include one or more software applications that can be provided to or accessed by user device 110 and / or platform 120. Applications 124-1 can eliminate the need to install and execute software applications on user device 110. For example, applications 124-1 can include software associated with platform 120 and / or any other software that can be provided via cloud computing environment 122. In some embodiments, one application 124-1 can send information to / receive information from one or more other applications 124-1 via virtual machine 124-2.

[0041] The virtual machine 124-2 includes a software implementation of a machine (e.g., a computer) that executes programs similar to a physical machine. The virtual machine 124-2 can be a system virtual machine or a process virtual machine, depending on the use of the virtual machine 124-2 and its correspondence to any real machine. A system virtual machine can provide a complete system platform that supports the execution of a complete operating system (OS). A process virtual machine can execute a single program and can support a single process. In some embodiments, the virtual machine 124-2 can execute on behalf of a user (e.g., user device 110) and can manage the infrastructure of the cloud computing environment 122, such as data management, synchronization, or long-term data transfer.

[0042] The virtualized storage 124-3 includes one or more storage systems and / or one or more devices that use virtualization technology within the storage system or device of the computing resource 124. In some embodiments, in the context of a storage system, the types of virtualization may include block-level virtualization and file virtualization. Block-level virtualization may refer to abstracting (or separating) logical storage from physical storage so that the storage system can be accessed without considering the physical storage or heterogeneous structure. Separation may allow administrators of the storage system flexibility in how the administrator manages the storage of end users. File virtualization may eliminate the dependency between data accessed at the file level and the location of the physical storage file. This may enable optimization of storage usage, server consolidation, and / or performance of non-disruptive file migration.

[0043] Hypervisor 124-4 can provide hardware virtualization technology that allows multiple operating systems (e.g., "guest operating systems") to execute simultaneously on a host computer (e.g., computing resource 124). Hypervisor 124-4 can present a virtual operating platform to the guest operating systems and can manage the execution of the guest operating systems. Multiple instances of various operating systems can share virtualized hardware resources.

[0044] The network 130 includes one or more wired and / or wireless networks. For example, the 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, or a fiber-optic-based network, etc., and / or a combination of these or other types of networks.

[0045] supply Figure 1 The number and arrangement of devices and networks shown are examples. In practice, Figure 1There may be additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or differently arranged devices and / or networks than shown. Figure 1 Two or more of the devices shown in FIG may be implemented in a single device, or Figure 1 A single device shown in the environment 100 may be implemented as multiple distributed devices. Additionally, or alternatively, a group of devices (eg, one or more devices) in the environment 100 may perform one or more functions described as being performed by another group of devices in the environment 100.

[0046] Figure 2 yes Figure 1 Device 200 may correspond to user device 110 and / or platform 120. Figure 2 As shown, 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 .

[0047] The bus 210 includes components that allow communication between the components of the device 200. The processor 220 is implemented in hardware, firmware, or a combination of hardware and software. The processor 220 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or other types of processing components. In some embodiments, the processor 220 includes one or more processors that can be programmed to perform functions. The memory 230 includes random access memory (RAM), read-only memory (ROM), and / or other types of dynamic or static storage devices (e.g., flash memory, magnetic memory, and / or optical memory) that store information and / or instructions for use by the processor 220.

[0048] The storage component 240 stores information and / or software related to the operation and use of the device 200. For example, the storage component 240 may include a hard disk (e.g., a magnetic disk, optical disk, magneto-optical disk, and / or solid-state disk), a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a cassette, a magnetic tape, and / or other types of non-transitory computer-readable media, and corresponding drives.

[0049] Input components 250 include components that allow device 200 to receive information, for example, via user input (e.g., a touch screen 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)).

[0050] The communication interface 270 includes components similar to a transceiver (e.g., a transceiver and / or a separate receiver and transmitter) that enable the device 200 to communicate with other devices, for example, via a wired connection, a wireless connection, or a combination of a wired connection and a wireless connection. The communication interface 270 can allow the device 200 to receive information from another device and / or provide information to another device. For example, the communication interface 270 can 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, or a cellular network interface.

[0051] Device 200 can perform one or more of the processes described herein. Device 200 can perform these processes in response to processor 220 executing software instructions stored by non-transitory computer-readable media (e.g., memory 230 and / or storage component 240). Computer-readable media is defined herein as non-transitory memory devices. Memory devices include memory space within a single physical storage device or memory space distributed across multiple physical storage devices.

[0052] The software instructions may be read into the memory 230 and / or storage component 240 from another computer-readable medium or from another device via the communication interface 270. When the software instructions stored in the memory 230 and / or storage component 240 are executed, the software instructions may cause the processor 220 to perform one or more processes described herein. Additionally or alternatively, hard-wired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, the embodiments described herein are not limited to any specific combination of hardware circuitry and software.

[0053] supply Figure 2 The number and arrangement of components shown are examples. In practice, Figure 2 The device 200 may include additional components, fewer components, different components, or components arranged differently than shown. Additionally or alternatively, one or more components of the device 200 may perform one or more functions described as being performed by another group of components of the device 200.

[0054] In an embodiment of the present disclosure, a NBMP system 300 is provided. Figure 3 , the NBMP system 300 includes a NBMP source 310 , a NBMP workflow manager 320 , a function repository 330 , one or more media processing entities (MPEs) 350 , a media source 360 ​​, and a media receiver 370 .

[0055] NBMP source 310 may receive instructions from a third-party entity, may communicate with NBMP workflow manager 320 via NBMP workflow API 392, and may communicate with function repository 330 via function discovery API 391. For example, NBMP source 310 may send one or more workflow description documents (WDDs) to NBMP workflow manager 320 and may read function descriptions of functions stored in function repository 330, such as media processing functions stored in the memory of function repository 330, such as media decoding, feature point extraction, camera parameter extraction, projection method, seam information extraction, mixing, post-processing, and encoding. NBMP source 310 may include or be implemented by at least one processor and memory, the memory storing code configured to cause the at least one processor to execute the functions of NBMP source 310.

[0056] The NBMP source 310 may request the NBMP workflow manager 320 to create a workflow by sending a workflow description document, which includes tasks 352 to be performed by one or more media processing entities 350. The workflow description document may include several descriptors, each of which may have several parameters.

[0057] For example, NBMP source 310 may select a function stored in function repository 330 and send a workflow description document to NBMP workflow manager 320. The workflow description document includes various descriptors describing details such as input and output data, required functions, and workflow requirements. The workflow description document may include a set of task descriptions and a connection mapping of the inputs and outputs of tasks 352 to be executed by one or more of media processing entities 350. Upon receiving such information from NBMP source 310, NBMP workflow manager 320 may create a workflow by instantiating tasks based on the function names and connecting the tasks according to the connection mapping.

[0058] Alternatively or additionally, NBMP source 310 may request NBMP workflow manager 320 to create a workflow using a set of keywords. For example, NBMP source 310 may send NBMP workflow manager 320 a workflow description document that may include a set of keywords that NBMP workflow manager 320 may use to locate appropriate functions stored in function repository 330. Upon receiving such information from NBMP source 310, NBMP workflow manager 320 may create a workflow by searching for appropriate functions using the keywords that may be specified in the processing descriptor 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.

[0059] The NBMP workflow manager 320 may communicate with the functionality repository 330 via a functionality discovery API 393, which may be the same or a different API than the functionality discovery API 391, and may communicate with one or more of the media processing entities 350 via an NBMP task API 394. The NBMP workflow manager 320 may also communicate with one or more of the media processing entities 350 via a media processing entity (MPE) API 396. The NBMP workflow manager 320 may include or be implemented by at least one processor and a memory storing code configured to cause the at least one processor to perform the functionality of the NBMP workflow manager 320.

[0060] The NBMP workflow manager 320 can use the NBMP task API 394 to create, configure, manage, and monitor one or more tasks 352 of a workflow that can be executed by one or more media processing entities 350. In one embodiment, the NBMP workflow manager 320 can use the NBMP task API 394 to update and destroy tasks 352. To configure, manage, and monitor the tasks 352 of a workflow, the NBMP workflow manager 320 can send messages, such as requests, to one or more of the media processing entities 350, where each message can have several descriptors, each descriptor having several parameters. Each task 352 can include a media processing function 354 and a configuration 353 for the media processing function 354.

[0061] In one embodiment, after receiving a workflow description document from NBMP source 310 that does not include a task list (e.g., includes a keyword list instead of a task list), NBMP workflow manager 320 can select a task based on the description of the task in the workflow description document, searching function repository 330 via function discovery API 393 to find an appropriate function to run as task 352 of the current workflow. For example, NBMP workflow manager 320 can select a task based on keywords provided in the workflow description document. After identifying an appropriate function using keywords or a set of task descriptions provided by NBMP source 310, NBMP workflow manager 320 can configure the selected task in the workflow by using NBMP task API 394. For example, NBMP workflow manager 320 can extract configuration data from the information received from the NBMP source and configure task 352 based on the configuration data.

[0062] The one or more media processing entities 350 may be configured to receive media content from a media source 360, process the media content according to a workflow including tasks 352 created by the NBMP workflow manager 320, and output the processed media content to a media receiver 370. The one or more media processing entities 350 may each include or be implemented by at least one processor and a memory, the memory storing code configured to cause the at least one processor to perform the functions of the media processing entity 350.

[0063] Media source 360 ​​may include storage for storing media and may be integrated with or separate from NBMP source 310. In one embodiment, NBMP workflow manager 320 may notify NBMP source 310 when a workflow is ready, and media source 360 ​​may send media content to one or more of media processing entities 350 based on the notification that the workflow is ready.

[0064] The media receiver 370 may include or be implemented by at least one processor and at least one display configured to display media processed by the one or more media processing entities 350 .

[0065] The third-party entity 380 may include or be implemented by at least one processor and a memory storing code configured to cause the at least one processor to perform the functions of the third-party entity 380 .

[0066] As described above, messages from NBMP source 310 to NBMP workflow manager 320 (e.g., a workflow description document for requesting the creation of a workflow), and messages from NBMP workflow manager 320 to one or more media processing entities 350 (e.g., a message for executing a workflow), can include several descriptors, each of which can have several parameters. In this case, communications between any components of NBMP system 300 using the API can include several descriptors, each of which can have several parameters.

[0067] According to an embodiment, an MPE capability description (MD) may be provided. The MD may include a set of descriptors for describing the capabilities of the MPE. The MD may be included in CDAM2, as shown in Table 1 below.

[0068] Table 1: MPE capability description (MD)

[0069]

[0070]

[0071] In addition, only retrieval capability operations can be defined in the task configuration API. The retrieval capability operations of the task configuration API are shown in Table 2 below.

[0072] Table 2: Task Configuration API

[0073]

[0074]

[0075] The current NBMP specification supports monitoring, reporting, and notification of system variables and system events in descriptors. However, these descriptors are designed for functions, and the image of a function does not necessarily have information about the system variables and events of the running MPE.

[0076] It is more practical to establish monitoring, reporting, and notification of system variables and events independently of tasks through MPE.

[0077] While including event descriptors in the MD helps describe the events that the MPE can support, there has been no previously defined mechanism for the NBMP workflow manager to set up event reporting or notifications. It would be beneficial for the NBMP workflow manager to be able to set up reporting or notifications for a desired subset of MPE events. MPE events describe system-level events that are independent of the functional events running on the MPE. According to embodiments, system-level events can include the bare metal hardware capabilities of the MPE.

[0078] Furthermore, cloud platforms / MPEs may have variables that are not described in the capability descriptor. Previously, there was no mechanism to (1) describe these variables and (2) add variables for reporting and notification. Previously, the NBMP workflow manager was also unable to monitor these variables.

[0079] Embodiments of the present disclosure may provide solutions to the above-mentioned problems and / or other problems.

[0080] Embodiments of the present disclosure may include the following improvements:

[0081] 1. Add variable descriptors to the MPE capability description so that MPE-specific variables can be discovered as part of the MPE capability. According to an embodiment, the MPE-specific variables may include the hardware capabilities of the MPE, such as CPU cycles, GPU cycles, bandwidth, and memory.

[0082] 2. Add "create", "update" and "destroy" operations for reporting and notification schemes for establishing, updating and destroying MPEs by the NBMP workflow manager, similar to the methods used in the task API.

[0083] 3. Added the ability to retrieve a subset of variables using monitoring descriptors in the RetrieveCapabilites API.

[0084] The embodiments of the present disclosure may extend the existing MPE capability description using variable descriptors. For example, variable descriptors may be used to add system-level variables to MD, as shown in Table 3 below.

[0085] Table 3: Extended MPE Capability Description (MD)

[0086]

[0087] Embodiments of the present disclosure may extend the MPE Capability API (also referred to herein as the MPE API), as described below.

[0088] According to an embodiment, the MPE capability API may include the following operations: (1) Create MPE Monitoring Report Notification (CreateMPEMRN), (2) Update MPE Monitoring Report Notification (UpdateMPEMRN), (3) Retrieve Capabilities (RetrieveCapabilities), and (4) Delete MPE Monitoring Report Notification (DeleteMPEMRN). According to an embodiment, the operation may include a request resource and a response. According to an embodiment, the request resource may be sent from the NBMP workflow manager to one or more MPEs to perform the operation, and the response may be sent from the one or more MPEs to the NBMP workflow manager, wherein the response indicates whether the operation was successfully performed by the one or more MPEs.

[0089] The CreateMPEMRN operation can provide the MPE with variable and event configurations for monitoring, reporting, and notification. This operation may include a request resource that includes one or more of the following descriptors: a monitoring descriptor, a reporting descriptor, and a notification descriptor. If the operation is successful, the response may include an HTTP status code of 201 and a response body that includes updated resources, including the accepted variables and events for each corresponding descriptor provided in the request resource. If the operation fails, the response may include an HTTP status code of 4xx or 5xx and, in some embodiments, a response body that includes updated resources that signal the failure of the variables and / or events. Depending on the embodiment, when only the corresponding monitoring, reporting, and notification schemes are requested to be created, CreateMPEMRN may also be referred to as CreateMPE Monitoring (CreateMPEMonitoring), CreateMPE Reporting (CreateMPEreporting), and CreateMPE Notifications.

[0090] The UpdateMPEMRN operation can modify the configuration for MPE monitoring, reporting, and notification. The operation may include a request resource that includes the update resource previously received in a response to, for example, CreateMPEMonitoring (or, for example, a response to CreateMPEMRN). If the operation is successful, the response to the operation may need to include HTTP status code 201, and a body of the response that includes the updated resource, which includes the accepted variables and events in each corresponding descriptor. If the operation fails, the response may need to include HTTP status code 4xx or 5xx, and, according to some embodiments, include a body of the response that includes the updated resource that signals the variables and / or events that failed.

[0091] The RetrieveCapabilities operation can retrieve the capabilities of the MPE. The operation may include requesting a resource that includes an MD with the same general id and, according to some embodiments, an expected list of ids / urls of the MPE. If the operation is successful, the response of the operation may need to include HTTP status code 201 and a body of the response with an updated MD, the body of the response including: (a) the same general descriptor(s) as in the request, and updated capability information. If the operation fails, the response may need to include HTTP status code 4xx or 5xx and, according to some embodiments, a body of the response including an updated MD that signals the descriptor or parameters that failed.

[0092] The DeleteMPEMRN operation may destroy the monitoring, reporting, or notification scheme of the MPE. The operation may include a request resource that includes a resource previously received in, for example, a response to CreateMPEMonitoring (or, for example, a response to CreateMPEMRN). If the operation is successful, the response to the operation may need to include an HTTP status code of 200. If the operation fails, the response may need to include an HTTP status code of 4xx or 5xx and, according to some embodiments, a body of the response that includes an updated resource for the descriptor / variable / event that signaled the failure.

[0093] As described above, the MPE Capabilities API is extended with the operations CreateMPEMRN, RetrieveCapabilities, and DeleteMPEMRN, so that solutions for monitoring, reporting, and notification of variables and events of the MPE can be created, updated, and destroyed.

[0094] According to an embodiment, a system and method may be provided that includes describing variables of a cloud platform using NBMP MPE capabilities, wherein system-specific variables are described as part of the MPE capabilities.

[0095] According to an embodiment, a system and method can be provided that includes operations for establishing a monitoring, reporting, and notification scheme for cloud platform nodes by extending the NBMP MPE API to support the creation, updating, and destruction of monitoring, reporting, and notification schemes for system-level variables and events of the MPE discovered as part of the MPE capability discovery process. The MPE can be configured to provide the values ​​of variables and the status of events during monitoring, as part of regular reporting, or as part of notifications when specific criteria are met, to inform internal or external parties of the values ​​of the MPE's system variables and the status of its events.

[0096] According to an embodiment of the present disclosure, at least one processor and a memory storing computer code may be provided. The computer code may be configured to perform any number of aspects of the present disclosure when executed by the at least one processor.

[0097] For example, refer to Figure 4, computer code 400 may be implemented in NBMP system 300. For example, the computer code may be stored in a memory of NBMP workflow manager 320 and may be executed by at least one processor of NBMP workflow manager 320. The computer code may include, for example, create request code 410, update request code 420, capability request code 430, delete request code 440, and obtain code 450.

[0098] According to an embodiment of the present disclosure, the create request code 410 may be configured to cause the NBMP workflow manager 320 to create a request and send the request to the MPE 350 to implement at least one of monitoring, reporting, and notification. For example, the NBMP workflow manager 320 may implement the CreateMPEMRN operation of the MPE Capability API described above. According to an embodiment, the create request code 410 may be configured to cause the NBMP workflow manager 320 to send a request to the MPE 350 to perform at least one of monitoring, reporting, and notification. According to an embodiment of the present disclosure, the request may include at least one of an MPE variable and an MPE 350 event.

[0099] According to an embodiment of the present disclosure, the update request code 420 may be configured to cause the NBMP workflow manager 320 to create and send a request to the MPE 350 to update the schema. For example, the NBMP workflow manager 320 may implement the UpdateMPEMRN operation of the MPE Capability API as described above.

[0100] According to an embodiment of the present disclosure, capability request code 430 may be configured to cause NBMP workflow manager 320 to send a request to MPE 350 to retrieve capabilities of MPE 350. For example, NBMP workflow manager 320 may implement the RetrieveCapabilities operation of the MPE Capabilities API as described above.

[0101] According to an embodiment of the present disclosure, the delete request code 440 may be configured to cause the NBMP workflow manager 320 to send a request to destroy the solution to the MPE 350. For example, the NBMP workflow manager 320 may implement the DeleteMPEMRN operation of the MPE capability API as described above.

[0102] According to an embodiment of the present disclosure, the acquisition code 450 may be configured to cause the NBMP workflow manager 320 to obtain the values ​​of variables of the MPE 350 or the status of events of the MPE 350 from the MPE 350 after the MPE 350 implements the solution, during monitoring, as part of a report, or as part of a notification. According to an embodiment of the present disclosure, the acquisition code 450 may also be configured to cause the NBMP workflow manager 320 to obtain responses (and information therein) from the MPE 350 in response to requests for the CreateMPEMRN, UpdateMPEMRN, RetrieveCapabilities, and DeleteMPEMRN operations.

[0103] According to one or more embodiments, embodiments of the present disclosure may be implemented in environments other than NBMP.

[0104] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the embodiments.

[0105] As used herein, the term component is intended to be broadly interpreted as hardware, firmware, or a combination of hardware and software.

[0106] Even if combinations of features are recited in the claims and / or described in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features can be combined in ways not specifically recited in the claims and / or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim set.

[0107] Unless clearly described, any element, action or instruction used in the present disclosure should not be understood as critical or necessary. In addition, as used in the present disclosure, the term "a / an" is intended to include one or more items and can be used interchangeably with "one or more". In addition, as used in the present disclosure, the term "set" is intended to include one or more projects (for example, related projects, non-related projects, combinations of related and non-related projects, etc.), and can be used interchangeably with "one or more". In the case of only one item, the term "one" or similar language is used. In addition, as used in the present disclosure, the term "have", "have" or similar terms are open terms. In addition, the term "based on" means "based at least in part on", unless otherwise clearly stated.

Claims

1. A method performed by at least one processor implementing a network-based media processing (NBMP) workflow manager, characterized in that: The method comprises: Sending a request to the MPE using an NBMP media processing entity (MPE) application programming interface (API) to implement at least one of monitoring, reporting, and notification, so that the MPE performs the at least one of the monitoring, reporting, and notification; and receiving, during said monitoring, or as part of said reporting, or as part of said notifying, from said MPE a value of an MPE variable or a status of an event of said MPE based on said scenario being implemented, The request includes: at least one of the MPE variable and the MPE event, and the MPE variable includes at least one MPE capability; The method further comprises: Sending a request to the MPE using the NBMP MPE API to destroy the scheme, wherein the NBMP MPE API is extended by a DeleteMPEMRN operation for destroying a monitoring, reporting, or notification scheme of the MPE; An MPE capability description is sent to the MPE using the NBMP MPE API, the MPE capability description comprising a first descriptor comprising MPE implementation-specific variables of the MPE, the MPE implementation-specific variables comprising: CPU cycles, GPU cycles, bandwidth, and memory.

2. The method according to claim 1, characterized in that The method further includes requesting the MPE to update the solution using the NBMP MPE API.

3. The method according to claim 1 or 2, characterized in that The MPE variables are system-level variables of the MPE, and the events are system-level events of the MPE.

4. The method according to claim 1 or 2, characterized in that The method also includes receiving a response to the request from the MPE, the response indicating whether the MPE successfully implemented the solution.

5. The method according to claim 1, wherein The MPE capability description further includes a second descriptor listing the MPE capabilities, wherein the MPE implementation-specific variables in the first descriptor are not included in the second descriptor.

6. The method according to claim 1, characterized in that The MPE implementation specific variables indicate the hardware capabilities of the MPE.

7. The method according to claim 1, characterized in that The method further includes receiving a response from the MPE to the request to retrieve the MPE capabilities, wherein the response includes an updated version of the MPE capabilities description.

8. A system, characterized in that: include: at least one memory configured to store computer program code; and At least one processor is configured to access the computer program code and execute the method according to any one of claims 1 to 7 according to instructions of the computer program code.

9. A computer-readable storage medium, characterized in that The device stores computer code, which is configured to: when executed by at least one processor, cause the at least one processor to perform the method according to any one of claims 1 to 7.

10. A device for implementing a network-based media processing NBMP workflow manager, characterized in that include: Creating a request module configured to: send a request to the MPE by using the NBMP media processing entity MPE application programming interface API to implement at least one of monitoring, reporting and notification, so that the MPE performs the at least one of the monitoring, reporting and notification; and an acquisition module configured to receive, during the monitoring, or as part of the reporting, or as part of the notification, from the MPE a value of an MPE variable or a status of an event of the MPE based on the scenario being implemented, The request includes: at least one of the MPE variable and the MPE event, and the MPE variable includes at least one MPE capability; The acquisition module is further configured to: send a request to the MPE using the NBMP MPE API to destroy the scheme, wherein the NBMP MPE API is extended by a DeleteMPEMRN operation, and the DeleteMPEMRN operation is used to destroy the monitoring, reporting or notification scheme of the MPE; An MPE capability description is sent to the MPE using the NBMP MPE API, the MPE capability description comprising a first descriptor comprising MPE implementation-specific variables of the MPE, the MPE implementation-specific variables comprising: CPU cycles, GPU cycles, bandwidth, and memory.

Citation Information

Patent Citations

  • Method and apparatus for improvements to moving picture experts group network based media processing

    US20200341803A1

  • Method and apparatus for cloud service

    US20210096925A1