US20200404035A1 - Extensible Resource Management for Hybrid Cloud-Based Media Production - Google Patents

Extensible Resource Management for Hybrid Cloud-Based Media Production Download PDF

Info

Publication number
US20200404035A1
US20200404035A1 US16/869,203 US202016869203A US2020404035A1 US 20200404035 A1 US20200404035 A1 US 20200404035A1 US 202016869203 A US202016869203 A US 202016869203A US 2020404035 A1 US2020404035 A1 US 2020404035A1
Authority
US
United States
Prior art keywords
cloud
production
media
software code
media flows
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US16/869,203
Other versions
US11212258B2 (en
Inventor
Michael J. Strein
Craig L. Beardsley
Ryan N. McCormick
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Disney Enterprises Inc
Original Assignee
Disney Enterprises Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Disney Enterprises Inc filed Critical Disney Enterprises Inc
Priority to US16/869,203 priority Critical patent/US11212258B2/en
Assigned to DISNEY ENTERPRISES, INC. reassignment DISNEY ENTERPRISES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BEARDSLEY, CRAIG L., MCCORMICK, RYAN N., STREIN, MICHAEL J.
Publication of US20200404035A1 publication Critical patent/US20200404035A1/en
Application granted granted Critical
Publication of US11212258B2 publication Critical patent/US11212258B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • H04L65/4076
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1016IP multimedia subsystem [IMS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/608
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26616Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for merging a unicast channel into a multicast channel, e.g. in a VOD application, when a client served by unicast channel catches up a multicast channel to save bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6408Unicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Definitions

  • Media-over-Internet Protocol, or media-over-IP, production facilities typically rely on multicast flow distribution to efficiently move media content, for which there are established production media flow carriage and management standards, as well as proprietary solutions.
  • these standards and solutions for managing multicast production media flows are implemented using “on-premises” resources for which the production facility has control of the information technology (IT) architecture.
  • IT information technology
  • a traditional media-over-IP production facility can provide the timing mechanisms required for the multicast production media flows, such as Precision Time Protocol (PTP) for example, and can manage the bandwidth, control, and routing for the multicast streams.
  • PTP Precision Time Protocol
  • cloud-based computing environments by contrast, whether they are public or private, multicast flow management has typically been impermissible due in part to the unpredictable demands that multicast signals can place on cloud bandwidth. Instead, users of cloud-based IT resources are typically allocated computing and storage processes for which they are billed, as well as ingress or egress bandwidth, which they are also billed or allocated for. Due to the constraints imposed by use of cloud-based IT services, the media-over-IP architectures that work for a locally controlled production facility cannot be extended into the cloud. The unfortunate result is that defined production media flows from a local media-over-IP production facility cannot scale to cloud production media flows logically or seamlessly in the conventional art.
  • ERPs extensible resource managers
  • FIG. 1 shows a diagram of an exemplary hybrid cloud-based media production system, according to one implementation
  • FIG. 2 shows a diagram of an extensible resource manager (ERM) suitable for use as part of the system of FIG. 1 , according to one exemplary implementation;
  • ERP extensible resource manager
  • FIG. 3 shows a diagram of an exemplary interaction environment for the ERM of FIG. 2 , according to one implementation.
  • FIG. 4 shows a flowchart presenting an exemplary method for use by an ERM, according to one implementation.
  • the present application describes an extensible resource manager (ERM) for a hybrid cloud-based media production system, which addresses and overcomes the drawbacks and deficiencies in the conventional art.
  • the ERM disclosed by the present application is configured to support a hybrid local/cloud-based production system.
  • the comprehensive control over management of the production media flows for the system, commonly known as Software Defined Network Orchestration (hereinafter “SDNO”) is performed by a network orchestrator of the system (hereinafter “SDNO”).
  • SDNO Software Defined Network Orchestration
  • SDNO network orchestrator of the system
  • the SDNO and ERM are configured to extend seamlessly between the local and cloud-based “virtual” production environments to enable a highly scalable and dynamic media-over-IP production solution.
  • hybrid cloud-based media production may refer to brick-and-mortar production facilities that are extensible into the cloud so as to include cloud-based virtual production resources, as well as to production systems relying entirely or substantially on virtual media processing resources. Consequently, the expressions “hybrid cloud-based media production” and “cloud-extensible media production” may be used interchangeably in the present disclosure. It is further noted that the hybrid cloud-based media production solution disclosed in the present application is cloud agnostic, i.e., not specifically designed for implementation in a particular type of cloud environment. Consequently, the cloud virtual production environment into which the present solution expands may include multiple distinct cloud environments, and thus may be a multi-cloud virtual production environment.
  • the present ERM may be implemented as a substantially automated solution.
  • the terms “automation,” “automated,” and “automating” refer to ERMs and their processes that do not require the participation of a human user, such as a human production manager.
  • a human production manager may review, or even intervene, in the actions determined by the automated ERMs and according to the automated methods described herein, that human involvement is optional.
  • the methods described in the present application may be performed under the control of hardware processing components of the disclosed ERMs.
  • FIG. 1 shows exemplary hybrid cloud-based media production system 100 , according to one implementation.
  • hybrid cloud-based media production system 100 includes on-premises production environment 102 interactively linked with cloud-based virtual production environment 104 .
  • on-premises production environment 102 includes local resources 110 generating multicast production media flows 132 a and communicatively coupled to facility expansion platform 120 .
  • Local resources 110 include “big iron” production hardware 112 , local physical production network 114 , local computing and data storage resources 116 , and local production applications 118 .
  • FIG. 1 shows exemplary hybrid cloud-based media production system 100 , according to one implementation.
  • hybrid cloud-based media production system 100 includes on-premises production environment 102 interactively linked with cloud-based virtual production environment 104 .
  • on-premises production environment 102 includes local resources 110 generating multicast production media flows 132 a and communicatively coupled to facility expansion platform 120 .
  • Local resources 110 include “big iron” production hardware 112 , local physical production network 114 , local computing
  • FIG. 1 shows SDNO 106 , ERM 150 , and media flow transport security manager 160 , as well as graphical user interface (GUI) 126 of facility expansion platform 120 providing a production monitoring and/or control dashboard for an optional user of hybrid cloud-based media production system 100 .
  • GUI graphical user interface
  • FIG. 1 Also shown in FIG. 1 are abstraction layer 108 associated with SDNO 106 , abstraction layer 152 associated with ERM 150 , and communication links 122 between ERM 150 and SDNO 106 , which may be provided by an application programming interface (API)(hereinafter “SDNO API 122 ”).
  • API application programming interface
  • abstraction layer 104 associated with SDNO 106
  • abstraction layer 152 associated with ERM 150
  • an abstraction layer is a series of software services (often called microservices) providing and accomplishing specific functions, as known in the art.
  • Abstraction layer 104 supports both “east/west” lateral communications between other software services and “north/south” vertical communications between the layers that call these services for SDNO 106
  • abstraction layer 152 provides analogous communications support for ERM 150 .
  • Cloud-based virtual production environment 104 includes cloud-based resources 140 configured to receive and process cloud production media flows 142 a corresponding to multicast production media flows 132 a , thereby producing post-production cloud media flows 142 b .
  • cloud-based resources 140 include cloud bandwidth 144 , cloud-based computing and data storage resources 146 , and cloud-based production applications 148 .
  • Also shown in FIG. 1 is physical, i.e., not cloud-based or virtual, post-production facility 134 receiving post-production multicast media flows 132 b corresponding to post-production cloud media flows 142 b.
  • physical post-production facility 134 may be another production facility similar to on-premises production environment 102 , or may be a media distribution hub, such as a regional affiliate or other affiliated media distributor.
  • post-production multicast media flows 132 b correspond to post-production cloud media flows 142 b after post-production media flows 142 b are converted from a cloud permissible media flow type, such as unicast, to multicast.
  • cloud production media flows 142 a are processed to generate post-production cloud media flows 142 b using cloud-based virtual production environment 104 .
  • multicast is a term used to describe communication in which a piece of information is sent from one or more points to a set of other points. In this case there may be one or more senders, and the information is distributed to a group of receivers.
  • An example of an application which may use multicast is a video server sending out networked television (TV) channels. Concurrent delivery of high quality video to each of a large number of delivery platforms will exhaust the capability of even a high bandwidth network with a powerful video clip server. This poses a major scalability issue for applications which require sustained high bandwidth.
  • Multicasting is the networking technique of delivering the same packet concurrently to a group of clients. IP multicast provides dynamic many-to-many connectivity between a set of senders (at least 1) and a group of receivers.
  • IP multicast packet The format of an IP multicast packet is identical to that of unicast packets and is distinguished by the use of a special class of destination address (i.e., class D IPv4 address), which denotes a specific multicast group.
  • TCP Transmission Control Protocol
  • UDP User Datagram Protocol
  • multicast clients receive a stream of packets only if they have previously elected to do so, for example by joining the specific multicast group address. Membership of a group may be dynamic and may be controlled by the receivers, which are informed by the local client applications.
  • the routers in a multicast network learn which sub-networks have active clients for each multicast group and attempt to minimize the transmission of packets across parts of the network for which there are no active clients.
  • the multicast mode is useful if a group of clients require a common set of data at the same time, or when the clients are able to receive and store common data until needed. Where there is a common need for the same data required by a group of clients, multicast transmission may provide significant bandwidth savings, for example, up to 1/N of the bandwidth compared to N separate unicast clients.
  • cloud production media flows 142 a and post-production cloud media flows 142 b may be multicast media flows. Nevertheless, most present use cases require conversion of multicast production media flows 132 a into unicast production media flows prior to processing in cloud-based virtual production environment 104 .
  • cloud production media flows 142 a may be unicast production media flows 142 a
  • post-production cloud media flows 142 b may be post-production unicast media flows 142 b.
  • Unicast is a term used to describe communication in which a piece of information is sent from one point to another point. In this case there is just one sender and one receiver.
  • Unicast transmission in which a packet is sent from a single source to a specified destination, is a predominant form of transmission on LANs and within the Internet. All LANs, such as Ethernet, for example, as well as IP networks, support the unicast transfer mode. Examples of the standard unicast applications supported by LANs and IP networks include Hypertext Transfer Protocol (HTTP), Simple Mail Transfer Protocol (SMTP), File Transfer Protocol (FTP), and Telnet, each of which employs TCP.
  • HTTP Hypertext Transfer Protocol
  • SMTP Simple Mail Transfer Protocol
  • FTP File Transfer Protocol
  • Telnet Telnet
  • Hybrid cloud-based media production system 100 provides an exemplary framework by which on-premises production environment 102 can scale larger by expanding into cloud-based virtual production environment 104 . That expansion may include the following:
  • Media-over-IP multicast production media flows 132 a are converted to unicast or other cloud permissible production media flows 142 a as they move into cloud-based virtual production environment 104 .
  • SDNO 106 extends into cloud-based virtual production environment 104 from on-premises production environment 102 to manage cloud production media flows 142 a in cloud-based virtual production environment 104 , creating a virtual network managing the bandwidth and allocation of cloud production media flows 142 a , as well as the announce and discovery of cloud-based resources 140 .
  • SDNO 106 enables cloud-based resources 140 for required production processes and manages the connections. In one implementation, this would be accomplished by the cloud providers supplying standard APIs to cloud-based resources 140 .
  • ERM 150 communicates with SDNO 106 , and coordinates and books cloud-based resources 140 required by the media workflows, spinning up computing and storage processes as needed, and loading the required applications. ERM 150 can additionally manage the licenses for the applications, should additional applications be required. ERM management of cloud-based resources 140 and licensing may be API based such that ERM 150 can present a media based dashboard to a user via GUI 126 of hybrid cloud-based media production system 100 , while allocating the appropriate resources from the cloud provider.
  • FIG. 2 shows a diagram of exemplary ERM 250 , according to one implementation.
  • ERM 250 includes computing platform 252 having hardware processor 254 and memory 256 implemented as a non-transitory storage device.
  • memory 256 stores resource management software code 258 , and may store one or more reports 224 (hereinafter “report(s) 224 ”) generated by resource management software code 258 .
  • ERM 250 corresponds in general to ERM 150 , in FIG. 1 . As a result, ERM 250 may share any of the characteristics attributed to ERM 150 by the present disclosure, and vice versa.
  • memory 256 may be any computer-readable non-transitory storage medium.
  • a computer-readable non-transitory medium may correspond to various types of media, such as volatile media and non-volatile media, for example.
  • Volatile media may include dynamic memory, such as dynamic random access memory (dynamic RAM), while non-volatile memory may include optical, magnetic, or electrostatic storage devices.
  • Common forms of computer-readable non-transitory media include, for example, optical discs, RAM, programmable read-only memory (PROM), erasable PROM (EPROM), and FLASH memory.
  • FIG. 2 depicts resource management software code 258 as being stored as single software module in memory 256 , that representation is also provided merely as an aid to conceptual clarity. More generally, ERM 150 / 250 may include one or more computing platforms, such as computer servers or computer work stations for example, which may be co-located, or may form an interactively linked but distributed network.
  • computing platforms such as computer servers or computer work stations for example, which may be co-located, or may form an interactively linked but distributed network.
  • ERM 150 / 250 may correspond to one or more web servers, accessible over a packet-switched network such as the Internet, for example.
  • ERM 150 / 250 may correspond to one or more computer servers supporting a wide area network (WAN), a LAN, or included in another type of limited distribution or private network.
  • WAN wide area network
  • LAN local area network
  • a user of hybrid cloud-based media production system 100 may utilize GUI 126 to review the performance of hybrid cloud-based media production system 100 as described in report(s) 224 generated by resource management software code 258 of ERM 150 / 250 , when executed by hardware processor 254 .
  • Report(s) 224 may include performance and/or financial metrics.
  • report(s) generated by resource management software code 258 may reveal the profitability or return-on-investment (ROI) of media content in the form of TV programming content or feature film content produced using hybrid cloud-based media production system 100 based on billing and licensing information obtained from ERM 150 .
  • ROI return-on-investment
  • hardware processor 254 may execute resource management software code 258 to aggregate financial metrics corresponding to processing of cloud production media flows 142 a using cloud-based resources 140 , and to determine, using one or more of those financial metrics, the cost of processing cloud production media flows 142 a in cloud-based virtual production environment 104 . Moreover, in some implementations, hardware processor 254 may further execute resource management software code 258 to obtain revenue data for post-production cloud media flows 142 b corresponding respectively to cloud production media flows 142 a , to determine, using the cost and the revenue data, the ROI for post-production cloud media flows 142 b , and to generate report(s) 224 including at least the ROI.
  • report(s) 224 generated using resource management software code 258 may be stored in memory 256 and/or may be copied to non-volatile storage. Alternatively, or in addition, and as noted above, in some implementations those reports may be displayed to a user of hybrid cloud-based media production system 100 via GUI 126 .
  • the cloud host provider may work with the media applications, SDNO 106 , and ERM 150 to present to an on-premises production environment 102 based system user a hybrid but apparently seamless production environment.
  • Standards and specifications such as Networked Media Open Specifications (NMOS) that define the methods for discovery, bandwidth reservation, and the like can be used to establish the framework to create this hybrid architecture, and enable ERM 150 and SDNO 106 to establish the features required for a dynamic environment.
  • NMOS Networked Media Open Specifications
  • SDNO 106 and ERM 150 would present to the user a seamless environment in which it is impossible, or nearly so, to distinguish where on-premises production environment 102 ends and cloud-based virtual production environment 104 begins.
  • FIG. 3 shows a diagram of exemplary interaction environment 300 for ERM 350 participating in a hybrid cloud-based media production process, according to one implementation.
  • interaction environment 300 includes on-premises production environment 302 , cloud-based virtual production environment 304 , network orchestrator or SDNO 306 , resources database 362 , billing and reporting metrics database 364 , common carrier interface 366 , and licensing database 368 .
  • FIG. 3 shows common carrier API 372 , cloud API 374 , SDNO API 322 , licensing API 378 , and local network communication links 370 supporting communications between ERM 350 and each of on-premises production environment 302 , resources database 362 , and billing and reporting metrics database 364 .
  • multicast production media flows 332 a cloud production media flows 342 a corresponding to multicast production media flows 332 a
  • post-production cloud media flows 342 b resulting from processing of cloud production media flows 342 a in cloud-based virtual production environment 304
  • post-production multicast media flows 332 b corresponding to post-production cloud media flows 342 b
  • the correspondence between cloud production media flows 342 a and multicast production media flows 332 a may be one-to-one.
  • the correspondence between cloud production media flows 342 a and multicast production media flows 332 a may be many-to-one, while the correspondence between post-production multicast media flows 332 b and post-production cloud media flows 342 b may be one-to-many.
  • ERM 350 corresponds in general to ERM 150 / 250 in FIGS. 1 and 2 . Consequently, ERM 350 may share any of the characteristics attributed to ERM 150 / 250 by the present disclosure, and vice versa.
  • on-premises production environment 302 , cloud-based virtual production environment 304 , network orchestrator or SDNO 306 correspond respectively in general to on-premises production environment 102 , cloud-based virtual production environment 104 , and SDNO 106 , in FIG. 1 .
  • on-premises production environment 302 may share any of the characteristics attributed to respective on-premises production environment 102 , cloud-based virtual production environment 104 , and SDNO 106 by the present disclosure, and vice versa.
  • SDNO API 322 corresponds in general to SDNO API 122 , in FIG. 1 , and those corresponding features may share any of the characteristics attributed to either corresponding feature by the present disclosure.
  • multicast production media flows 332 a cloud production media flows 342 a , post-production cloud media flows 342 b , and post-production multicast media flows 332 b correspond respectively in general to multicast production media flows 132 a , cloud production media flows 142 a , post-production cloud media flows 142 b , and post-production multicast media flows 132 b .
  • multicast production media flows 332 a , cloud production media flows 342 a , post-production cloud media flows 342 b , and post-production multicast media flows 332 b may share any of the characteristics attributed to respective multicast production media flows 132 a , cloud production media flows 142 a , post-production cloud media flows 142 b , and post-production multicast media flows 132 b by the present disclosure, and vice versa. That is to say, in some implementations, cloud production media flows 342 a may be unicast production media flows 342 a , and post-production cloud media flows 342 b may be post-production unicast media flows 342 b.
  • FIG. 4 shows flowchart 480 presenting an exemplary method for use by ERM 150 / 250 / 350 .
  • FIG. 4 it is noted that certain details and features have been left out of flowchart 480 in order not to obscure the discussion of the inventive features in the present application.
  • flowchart 480 begins with communicating with SDNO 106 / 306 to identify one or more multicast production media flows 132 a / 332 a for processing in cloud-based virtual production environment 104 / 304 (action 481 ).
  • Multicast production media flows 132 a / 332 a may include streaming audio content, streaming video content, streaming audio-video content, graphics, or one or more media files, to name a few examples.
  • multicast production media flows 132 a / 332 a may also include associated media files that could be used at runtime, could be re-used at other times, or could be exported.
  • multicast production media flows 132 a / 332 a may take the form of carriera feeds or remote feeds, for example.
  • timing protocol applied to multicast production media flows 132 a / 332 a may be incompatible with timing schemes permitted in the cloud.
  • timing of multicast production media flows 132 a / 332 a may be controlled in on-premises production environment 102 / 302 using Precision Time Protocol (PTP), which is known in the art, but which is typically not permitted in cloud-based computing environments.
  • PTP Precision Time Protocol
  • cloud-based virtual production environment 104 may evolve to support use of PTP.
  • one or more multicast production media flows 132 a may have a timing protocol that is impermissible in cloud-based virtual production environment 104 , while in other implementations the timing protocol used for one or more multicast production media flows 132 a may be permitted in cloud-based virtual production environment 104 .
  • Action 481 may be triggered by workflow requirements, such as turnaround time or scheduling, by resource constraints imposed by local resources 110 , or may be scheduled to occur at predetermined intervals (e.g., daily, weekly, monthly, etc.), for example. Referring to FIG. 2 , with continued reference to FIGS. 1, 3, and 4 , action 481 may be performed by resource management software code 258 , executed by hardware processor 254 of ERM 150 / 250 / 350 , and using SDNO API 122 / 322 .
  • Flowchart 480 continues with identifying one or more of cloud-based resources 140 for processing one or more cloud production media flows 142 a / 342 a in cloud-based virtual production environment 104 / 304 (action 482 ).
  • One or more cloud production media flows 142 a / 342 a may be converted from and correspond to one or more multicast production media flows 132 a / 332 a identified in action 481 .
  • conversion of one or more multicast production media flow(s) 132 a / 332 a into one or more cloud production media flows 142 a / 342 a may be performed by hybrid cloud-based media production system 100 .
  • that conversion may be performed by a host provider supplying cloud-based resources 140 , or by an independent third party provider of multicast to unicast conversion services.
  • Conversion of one or more multicast production media flows 132 a / 332 a into one or more cloud production media flows 142 a / 342 a is typically performed before delivery of one or more cloud production media flows 142 a / 342 a into cloud bandwidth 144 of cloud-based virtual production environment 104 / 304 .
  • Conversion of one or more multicast production media flows 132 a / 332 a into one or more cloud production media flows 142 a / 342 a may include aliasing, performing Network Address Translation (NATing), or some other form of IP address translation to convert one or more multicast production media flows 132 a / 332 a into unicast production media flows, or into any other IP transmission format permissible in cloud-based virtual production environment 104 / 304 .
  • Identification of cloud-based resources 140 needed to process one or more cloud production media flows 142 a / 342 a may be performed by resource management software code 258 , executed by hardware processor 254 of ERM 150 / 250 / 350 .
  • Action 483 may be performed by resource management software code 258 , executed by hardware processor 254 of ERM 150 / 250 / 350 .
  • action 483 may include ERM 150 / 250 / 350 communicating with resources database 362 via communication link 370 to determine what license resources are presently in effect, and whether those licensing resources cover the one or more cloud-based resources needed to process one or more cloud production media flows 142 a / 342 a in cloud-based virtual production environment 104 / 304 .
  • Action 484 may be performed by resource management software code 258 , executed by hardware processor 254 of ERM 150 / 250 / 350 .
  • action 484 may include ERM 150 / 250 / 350 communicating with licensing database 368 via licensing API 378 to obtain any needed licenses.
  • action 484 may be skipped.
  • Flowchart 480 continues with provisioning cloud-based virtual production environment 104 / 304 with the one or more cloud-based resources 140 identified as needed for processing one or more cloud production media flows 142 a in action 482 (action 485 ).
  • Action 485 may follow action 484 , or may be performed in response to determining that the necessary license(s) already exist in action 483 .
  • Provisioning cloud-based virtual production environment 104 / 304 with cloud-based resources 140 may include one or more of reserving cloud bandwidth 144 , ordering cloud-based computing and data storage resources 146 , and ordering cloud-based production applications 148 , for example.
  • Provisioning of cloud-based virtual production environment in action 485 may be performed by resource management software code 258 , executed by hardware processor 254 of ERM 150 / 250 / 350 , and using cloud API 374 .
  • flowchart 480 may conclude with action 485 described above. However, in other implementations, flowchart 480 may continue with the optional action of reserving common carrier bandwidth for transporting one or more cloud production media flows 142 a / 342 a into cloud-based virtual production environment 104 / 304 (action 486 ). For example, in some implementations, optional action 486 may include identifying the amount of common carrier bandwidth required for transporting one or more cloud production media flows 142 a / 342 a into cloud-based virtual production environment 104 / 304 , and then reserving it.
  • Reserving common carrier bandwidth for transporting one or more cloud production media flows 142 a / 342 a into cloud-based virtual production environment 104 / 304 may be performed by resource management software code 258 , executed by hardware processor 254 of ERM 150 / 250 / 350 . In some implementations, for instance such a reservation may be made by ERM 150 / 250 / 350 through use of common carrier interface 366 and common carrier API 372 .
  • production media flows are converted from multicast production media flow(s) 132 a / 332 a to one or more cloud production media flows 142 a / 342 a , they may come through different network paths, resulting in wander and jitter that causes one or more cloud production media flows 142 a / 342 a to move out of time with one another.
  • production processing of one or more cloud production media flows 142 a / 342 a is to be performed in cloud-based virtual production environment 104 / 304 , alignment of one or more cloud production media flows 142 a / 342 a must typically be done after their delivery into cloud-based virtual production environment 104 / 304 , and may be performed by SDNO 106 / 306 using a cloud permissible or “cloud friendly” timing protocol.
  • PTP may be used in media-over-IP to align multicast production media flow(s) 132 a / 332 a .
  • one or more cloud production media flows 142 a / 342 a must be buffered, as well as being timed using a cloud permissible timing protocol, such as Network Time Protocol (NTP) for example.
  • NTP Network Time Protocol
  • Optional action 486 may also include reserving common carrier bandwidth for transporting one or more post-production cloud media flows 142 b / 342 b out of cloud-based virtual production environment 104 / 304 after processing of one or more cloud production media flows 142 a / 342 a in cloud-based virtual production environment 104 / 304 .
  • optional action 486 may include identifying the amount of common carrier bandwidth required for transporting one or more post-production cloud media flows 142 b / 342 b out of cloud-based virtual production environment 104 / 304 , and then reserving it.
  • Reserving common carrier bandwidth for transporting one or more post-production cloud media flows 142 b / 342 b out of cloud-based virtual production environment 104 / 304 may be performed by resource management software code 258 , executed by hardware processor 254 of ERM 150 / 250 / 350 . In some implementations, for instance such a reservation may be made by ERM 150 / 250 / 350 through use of common carrier interface 366 and common carrier API 372 .
  • flowchart 480 can continue with the optional action of deactivating cloud-based virtual production environment 104 / 304 after processing of one or more cloud production media flows 142 a / 342 a is complete (action 487 ).
  • Action 487 results in effective withdrawal of hybrid cloud-based media production system 100 from cloud-based virtual production environment 104 / 304 .
  • cloud-based resources 140 ordered by ERM 150 / 250 / 350 and allocated to hybrid cloud-based media production system 100 such as cloud bandwidth 144 , cloud-based computing and data storage resources 146 , cloud-based production applications 148 , and any temporary licenses obtained by ERM 150 / 250 / 350 , are relinquished back to the cloud host.
  • Optional action 487 may be performed by resource management software code 258 , executed by hardware processor 254 of ERM 150 / 250 / 350 .
  • hardware processor 254 may execute resource management software code to receive a notification from SDNO 106 / 306 of hybrid cloud-based media production system 100 , and deactivate, in response to receiving the notification, cloud-based virtual production environment 104 / 304 .
  • one or more post-production cloud media flows 142 b / 342 b may be converted into one or more post-production multicast media flows 132 b / 332 b .
  • one or more post-production media flows 132 b may be returned to on-premises production environment 102 / 302 , or one or more post-production media flows 132 b may be transmitted to physical post-production facility 134 .
  • physical post-production facility 134 may be another production facility similar to on-premises production environment 102 / 302 , or may be a media distribution hub, such as a regional affiliate or other affiliated media distributor. Conversion of one or more post-production cloud media flows 142 b / 342 b into one or more post-production multicast media flows 132 b / 332 b , as well as recovery or transmission of one or more post-production multicast media flows 132 b / 332 b , may be performed by SDNO 106 / 306 .
  • flowchart 480 can continue and conclude with optionally generating report(s) 224 including at least the ROI for one or more post-production cloud media flows 142 b / 342 b and/or post-production multicast media flows 132 b / 332 b (action 488 ).
  • report(s) 224 including at least the ROI for one or more post-production cloud media flows 142 b / 342 b and/or post-production multicast media flows 132 b / 332 b (action 488 ).
  • hardware processor 254 may execute resource management software code 258 to aggregate financial metrics corresponding to processing of one or more cloud production media flows 142 a / 342 a using cloud-based resources 140 , and to determine, using one or more of those financial metrics, the cost of processing one or more cloud production media flows 142 a / 342 a in cloud-based virtual production environment 104 / 304 .
  • hardware processor 254 may frther execute resource management software code 258 to obtain revenue data for one or more post-production cloud media flows 142 b / 342 b corresponding respectively to one or more cloud production media flows 142 a / 342 a , to determine, using the cost and the revenue data, the ROI for one or more post-production cloud media flows 142 b / 342 b , and to generate report(s) 224 including at least the ROI.
  • actions 486 , 487 , and 488 , as well as action 484 may be omitted from the method outlined by flowchart 480 .
  • the method outlined by flowchart 480 may continue directly from action 483 to conclude with action 485 , while in other implementations actions 481 , 482 , 483 , 484 , and 485 (hereinafter “actions 481 - 485 ”) may be performed.
  • action 485 may be followed by any one of actions 486 , 487 , or 488 .
  • hardware processor 254 may execute resource management software code 258 to perform actions 481 , 482 , 483 , and 485 , or actions 481 - 485 , or actions 481 , 482 , 483 , and 485 or 481 - 485 as well as one or more of actions 486 , 487 , and 488 , in an automated process from which human involvement may be omitted.
  • the present application describes an ERM solution that addresses and overcomes the drawbacks and deficiencies in the conventional art.
  • the ERM solution disclosed in the present application can be used to enable a true hybrid production environment that is configured to scale to a much greater resource capability than is available locally. Media applications used in the production process would look the same regardless of whether they are local resources or cloud-based resources.
  • the disclosed ERM solution may be advantageously utilized to manage and allocate the added resources needed when they are not local.

Abstract

An extensible resource manager (ERM) of a hybrid cloud-based media production system includes a computing platform having a hardware processor and a memory storing a resource management software code. The hardware processor executes the resource management software code to communicate with a network orchestrator of the hybrid cloud-based media production system to identify multicast production media flow(s) for processing in a cloud-based virtual production environment, to identify cloud-based resource(s) for processing cloud production media flow(s) corresponding to the multicast production media flow(s), in the cloud-based virtual production environment, and to determine whether a license exists for the identified cloud-based resource(s). The hardware processor also executes the resource management software code to obtain the license when the license does not exist, and to provision, after obtaining the license or in response to determining that the license exists, the cloud-based virtual production environment with the identified cloud-based resource(s).

Description

    RELATED APPLICATION(S)
  • The present application claims the benefit of and priority to pending Provisional Patent Application Ser. No. 62/864,279, filed Jun. 20, 2019, and titled “Cloud-Extensible Media Production,” which is hereby incorporated fully by reference into the present application.
  • The present application is related to U.S. patent application Ser. No. ______, filed concurrently with the present application, attorney docket number 0260603, and titled “Hybrid Cloud-Based Media Production”; U.S. patent application Ser. No. ______, filed concurrently with the present application, attorney docket number 0260668, and titled “Media Flow Transport Security Management”; and U.S. patent application Ser. No. 16/800,853, filed on Feb. 25, 2020, and titled “Software Defined Network Orchestration to Manage Media Flows for Broadcast with Public Cloud Networks,” which are hereby incorporated fully by reference into the present application.
  • BACKGROUND
  • Media-over-Internet Protocol, or media-over-IP, production facilities typically rely on multicast flow distribution to efficiently move media content, for which there are established production media flow carriage and management standards, as well as proprietary solutions. In traditional media-over-IP production environments, these standards and solutions for managing multicast production media flows are implemented using “on-premises” resources for which the production facility has control of the information technology (IT) architecture. As a result, a traditional media-over-IP production facility can provide the timing mechanisms required for the multicast production media flows, such as Precision Time Protocol (PTP) for example, and can manage the bandwidth, control, and routing for the multicast streams.
  • In cloud-based computing environments, by contrast, whether they are public or private, multicast flow management has typically been impermissible due in part to the unpredictable demands that multicast signals can place on cloud bandwidth. Instead, users of cloud-based IT resources are typically allocated computing and storage processes for which they are billed, as well as ingress or egress bandwidth, which they are also billed or allocated for. Due to the constraints imposed by use of cloud-based IT services, the media-over-IP architectures that work for a locally controlled production facility cannot be extended into the cloud. The unfortunate result is that defined production media flows from a local media-over-IP production facility cannot scale to cloud production media flows logically or seamlessly in the conventional art.
  • SUMMARY
  • There are provided extensible resource managers (ERMs) and methods for their use, substantially as shown in and/or described in connection with at least one of the figures, and as set forth more completely in the claims.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows a diagram of an exemplary hybrid cloud-based media production system, according to one implementation;
  • FIG. 2 shows a diagram of an extensible resource manager (ERM) suitable for use as part of the system of FIG. 1, according to one exemplary implementation;
  • FIG. 3 shows a diagram of an exemplary interaction environment for the ERM of FIG. 2, according to one implementation; and
  • FIG. 4 shows a flowchart presenting an exemplary method for use by an ERM, according to one implementation.
  • DETAILED DESCRIPTION
  • The following description contains specific information pertaining to implementations in the present disclosure. One skilled in the art will recognize that the present disclosure may be implemented in a manner different from that specifically discussed herein. The drawings in the present application and their accompanying detailed description are directed to merely exemplary implementations. Unless noted otherwise, like or corresponding elements among the figures may be indicated by like or corresponding reference numerals. Moreover, the drawings and illustrations in the present application are generally not to scale, and are not intended to correspond to actual relative dimensions.
  • The present application describes an extensible resource manager (ERM) for a hybrid cloud-based media production system, which addresses and overcomes the drawbacks and deficiencies in the conventional art. In one implementation, the ERM disclosed by the present application is configured to support a hybrid local/cloud-based production system. The comprehensive control over management of the production media flows for the system, commonly known as Software Defined Network Orchestration (hereinafter “SDNO”) is performed by a network orchestrator of the system (hereinafter “SDNO”). The SDNO and ERM are configured to extend seamlessly between the local and cloud-based “virtual” production environments to enable a highly scalable and dynamic media-over-IP production solution.
  • It is noted, that as used in the present application, the expression “hybrid cloud-based media production” may refer to brick-and-mortar production facilities that are extensible into the cloud so as to include cloud-based virtual production resources, as well as to production systems relying entirely or substantially on virtual media processing resources. Consequently, the expressions “hybrid cloud-based media production” and “cloud-extensible media production” may be used interchangeably in the present disclosure. It is further noted that the hybrid cloud-based media production solution disclosed in the present application is cloud agnostic, i.e., not specifically designed for implementation in a particular type of cloud environment. Consequently, the cloud virtual production environment into which the present solution expands may include multiple distinct cloud environments, and thus may be a multi-cloud virtual production environment.
  • It is further noted that, in some implementations, the present ERM may be implemented as a substantially automated solution. As used in the present application, the terms “automation,” “automated,” and “automating” refer to ERMs and their processes that do not require the participation of a human user, such as a human production manager. Although, in some implementations, a human production manager may review, or even intervene, in the actions determined by the automated ERMs and according to the automated methods described herein, that human involvement is optional. Thus, in some implementations, the methods described in the present application may be performed under the control of hardware processing components of the disclosed ERMs.
  • FIG. 1 shows exemplary hybrid cloud-based media production system 100, according to one implementation. As shown in FIG. 1, hybrid cloud-based media production system 100 includes on-premises production environment 102 interactively linked with cloud-based virtual production environment 104. As shown in FIG. 1, on-premises production environment 102 includes local resources 110 generating multicast production media flows 132 a and communicatively coupled to facility expansion platform 120. Local resources 110 include “big iron” production hardware 112, local physical production network 114, local computing and data storage resources 116, and local production applications 118. In addition, FIG. 1 shows SDNO 106, ERM 150, and media flow transport security manager 160, as well as graphical user interface (GUI) 126 of facility expansion platform 120 providing a production monitoring and/or control dashboard for an optional user of hybrid cloud-based media production system 100. Also shown in FIG. 1 are abstraction layer 108 associated with SDNO 106, abstraction layer 152 associated with ERM 150, and communication links 122 between ERM 150 and SDNO 106, which may be provided by an application programming interface (API)(hereinafter “SDNO API 122”).
  • With respect to abstraction layer 104 associated with SDNO 106, and abstraction layer 152 associated with ERM 150, it is noted that an abstraction layer is a series of software services (often called microservices) providing and accomplishing specific functions, as known in the art. Abstraction layer 104 supports both “east/west” lateral communications between other software services and “north/south” vertical communications between the layers that call these services for SDNO 106, while abstraction layer 152 provides analogous communications support for ERM 150.
  • Cloud-based virtual production environment 104 includes cloud-based resources 140 configured to receive and process cloud production media flows 142 a corresponding to multicast production media flows 132 a, thereby producing post-production cloud media flows 142 b. As shown in FIG. 1, cloud-based resources 140 include cloud bandwidth 144, cloud-based computing and data storage resources 146, and cloud-based production applications 148. Also shown in FIG. 1 is physical, i.e., not cloud-based or virtual, post-production facility 134 receiving post-production multicast media flows 132 b corresponding to post-production cloud media flows 142 b.
  • It is noted that physical post-production facility 134 may be another production facility similar to on-premises production environment 102, or may be a media distribution hub, such as a regional affiliate or other affiliated media distributor. It is further noted that post-production multicast media flows 132 b correspond to post-production cloud media flows 142 b after post-production media flows 142 b are converted from a cloud permissible media flow type, such as unicast, to multicast. It is further noted that cloud production media flows 142 a are processed to generate post-production cloud media flows 142 b using cloud-based virtual production environment 104.
  • It is also noted that “multicast” is a term used to describe communication in which a piece of information is sent from one or more points to a set of other points. In this case there may be one or more senders, and the information is distributed to a group of receivers. One example of an application which may use multicast is a video server sending out networked television (TV) channels. Concurrent delivery of high quality video to each of a large number of delivery platforms will exhaust the capability of even a high bandwidth network with a powerful video clip server. This poses a major scalability issue for applications which require sustained high bandwidth. One way to significantly ease scaling to larger groups of clients is to employ multicast networking. Multicasting is the networking technique of delivering the same packet concurrently to a group of clients. IP multicast provides dynamic many-to-many connectivity between a set of senders (at least 1) and a group of receivers.
  • The format of an IP multicast packet is identical to that of unicast packets and is distinguished by the use of a special class of destination address (i.e., class D IPv4 address), which denotes a specific multicast group. Since Transmission Control Protocol (TCP) supports only the unicast mode, multicast applications must typically use the User Datagram Protocol (UDP) transport protocol. Unlike broadcast transmission, which is used on some local area networks (LANs), multicast clients receive a stream of packets only if they have previously elected to do so, for example by joining the specific multicast group address. Membership of a group may be dynamic and may be controlled by the receivers, which are informed by the local client applications. The routers in a multicast network learn which sub-networks have active clients for each multicast group and attempt to minimize the transmission of packets across parts of the network for which there are no active clients. The multicast mode is useful if a group of clients require a common set of data at the same time, or when the clients are able to receive and store common data until needed. Where there is a common need for the same data required by a group of clients, multicast transmission may provide significant bandwidth savings, for example, up to 1/N of the bandwidth compared to N separate unicast clients.
  • As noted above, in cloud-based computing environments, whether they are public or private, multicast flow management has typically been impermissible due in part to the unpredictable demands that multicast signals can place on cloud bandwidth. However, it is contemplated that cloud-based virtual production environment 104 may evolve to accommodate multicast flow management. Consequently, in some implementations cloud production media flows 142 a and post-production cloud media flows 142 b may be multicast media flows. Nevertheless, most present use cases require conversion of multicast production media flows 132 a into unicast production media flows prior to processing in cloud-based virtual production environment 104. Thus, in some implementations, cloud production media flows 142 a may be unicast production media flows 142 a, and post-production cloud media flows 142 b may be post-production unicast media flows 142 b.
  • In contrast to multicast. “unicast” is a term used to describe communication in which a piece of information is sent from one point to another point. In this case there is just one sender and one receiver. Unicast transmission, in which a packet is sent from a single source to a specified destination, is a predominant form of transmission on LANs and within the Internet. All LANs, such as Ethernet, for example, as well as IP networks, support the unicast transfer mode. Examples of the standard unicast applications supported by LANs and IP networks include Hypertext Transfer Protocol (HTTP), Simple Mail Transfer Protocol (SMTP), File Transfer Protocol (FTP), and Telnet, each of which employs TCP.
  • Hybrid cloud-based media production system 100 provides an exemplary framework by which on-premises production environment 102 can scale larger by expanding into cloud-based virtual production environment 104. That expansion may include the following:
  • 1) Media-over-IP multicast production media flows 132 a are converted to unicast or other cloud permissible production media flows 142 a as they move into cloud-based virtual production environment 104.
  • 2) SDNO 106 extends into cloud-based virtual production environment 104 from on-premises production environment 102 to manage cloud production media flows 142 a in cloud-based virtual production environment 104, creating a virtual network managing the bandwidth and allocation of cloud production media flows 142 a, as well as the announce and discovery of cloud-based resources 140. In other words, SDNO 106 enables cloud-based resources 140 for required production processes and manages the connections. In one implementation, this would be accomplished by the cloud providers supplying standard APIs to cloud-based resources 140.
  • 3) ERM 150 communicates with SDNO 106, and coordinates and books cloud-based resources 140 required by the media workflows, spinning up computing and storage processes as needed, and loading the required applications. ERM 150 can additionally manage the licenses for the applications, should additional applications be required. ERM management of cloud-based resources 140 and licensing may be API based such that ERM 150 can present a media based dashboard to a user via GUI 126 of hybrid cloud-based media production system 100, while allocating the appropriate resources from the cloud provider.
  • FIG. 2 shows a diagram of exemplary ERM 250, according to one implementation. As shown in FIG. 2, ERM 250 includes computing platform 252 having hardware processor 254 and memory 256 implemented as a non-transitory storage device. According to the present exemplary implementation, memory 256 stores resource management software code 258, and may store one or more reports 224 (hereinafter “report(s) 224”) generated by resource management software code 258. ERM 250 corresponds in general to ERM 150, in FIG. 1. As a result, ERM 250 may share any of the characteristics attributed to ERM 150 by the present disclosure, and vice versa.
  • It is noted that, although the present application refers to resource management software code 258 as being stored in memory 256 for conceptual clarity, more generally, memory 256 may be any computer-readable non-transitory storage medium. The expression “computer-readable non-transitory storage medium,” as used in the present application, refers to any medium, excluding a carrier wave or other transitory signal that provides instructions to hardware processor 254 of ERM 150/250. Thus, a computer-readable non-transitory medium may correspond to various types of media, such as volatile media and non-volatile media, for example. Volatile media may include dynamic memory, such as dynamic random access memory (dynamic RAM), while non-volatile memory may include optical, magnetic, or electrostatic storage devices. Common forms of computer-readable non-transitory media include, for example, optical discs, RAM, programmable read-only memory (PROM), erasable PROM (EPROM), and FLASH memory.
  • It is further noted that although FIG. 2 depicts resource management software code 258 as being stored as single software module in memory 256, that representation is also provided merely as an aid to conceptual clarity. More generally, ERM 150/250 may include one or more computing platforms, such as computer servers or computer work stations for example, which may be co-located, or may form an interactively linked but distributed network.
  • As a result, hardware processor 254 and memory 256 may correspond to distributed processor and memory resources. Thus, it is to be understood that resource management software code 258 may be stored and/or executed using the distributed memory and/or processor resources of ERM 150/250. ERM 150/250 may correspond to one or more web servers, accessible over a packet-switched network such as the Internet, for example. Alternatively, ERM 150/250 may correspond to one or more computer servers supporting a wide area network (WAN), a LAN, or included in another type of limited distribution or private network.
  • A user of hybrid cloud-based media production system 100 may utilize GUI 126 to review the performance of hybrid cloud-based media production system 100 as described in report(s) 224 generated by resource management software code 258 of ERM 150/250, when executed by hardware processor 254. Report(s) 224 may include performance and/or financial metrics. For example, in some implementations report(s) generated by resource management software code 258 may reveal the profitability or return-on-investment (ROI) of media content in the form of TV programming content or feature film content produced using hybrid cloud-based media production system 100 based on billing and licensing information obtained from ERM 150.
  • As a specific example, in some implementations, hardware processor 254 may execute resource management software code 258 to aggregate financial metrics corresponding to processing of cloud production media flows 142 a using cloud-based resources 140, and to determine, using one or more of those financial metrics, the cost of processing cloud production media flows 142 a in cloud-based virtual production environment 104. Moreover, in some implementations, hardware processor 254 may further execute resource management software code 258 to obtain revenue data for post-production cloud media flows 142 b corresponding respectively to cloud production media flows 142 a, to determine, using the cost and the revenue data, the ROI for post-production cloud media flows 142 b, and to generate report(s) 224 including at least the ROI.
  • It is noted that, in various implementations, report(s) 224 generated using resource management software code 258 may be stored in memory 256 and/or may be copied to non-volatile storage. Alternatively, or in addition, and as noted above, in some implementations those reports may be displayed to a user of hybrid cloud-based media production system 100 via GUI 126.
  • In public cloud environments, the cloud host provider may work with the media applications, SDNO 106, and ERM 150 to present to an on-premises production environment 102 based system user a hybrid but apparently seamless production environment. Standards and specifications such as Networked Media Open Specifications (NMOS) that define the methods for discovery, bandwidth reservation, and the like can be used to establish the framework to create this hybrid architecture, and enable ERM 150 and SDNO 106 to establish the features required for a dynamic environment. As a result, SDNO 106 and ERM 150 would present to the user a seamless environment in which it is impossible, or nearly so, to distinguish where on-premises production environment 102 ends and cloud-based virtual production environment 104 begins.
  • FIG. 3 shows a diagram of exemplary interaction environment 300 for ERM 350 participating in a hybrid cloud-based media production process, according to one implementation. As shown in FIG. 3, in addition to ERM 350, interaction environment 300 includes on-premises production environment 302, cloud-based virtual production environment 304, network orchestrator or SDNO 306, resources database 362, billing and reporting metrics database 364, common carrier interface 366, and licensing database 368. In addition, FIG. 3 shows common carrier API 372, cloud API 374, SDNO API 322, licensing API 378, and local network communication links 370 supporting communications between ERM 350 and each of on-premises production environment 302, resources database 362, and billing and reporting metrics database 364.
  • Also shown in FIG. 3 are multicast production media flows 332 a, cloud production media flows 342 a corresponding to multicast production media flows 332 a, post-production cloud media flows 342 b resulting from processing of cloud production media flows 342 a in cloud-based virtual production environment 304, and post-production multicast media flows 332 b corresponding to post-production cloud media flows 342 b. It is noted that in use cases in which multicast media flows are permissible in cloud-based virtual environment 304, the correspondence between cloud production media flows 342 a and multicast production media flows 332 a, as well as the correspondence between post-production multicast media flows 332 b and post-production cloud media flows 342 b may be one-to-one. However, in use cases in which multicast media flows are impermissible in cloud-based virtual environment 304, the correspondence between cloud production media flows 342 a and multicast production media flows 332 a may be many-to-one, while the correspondence between post-production multicast media flows 332 b and post-production cloud media flows 342 b may be one-to-many.
  • ERM 350 corresponds in general to ERM 150/250 in FIGS. 1 and 2. Consequently, ERM 350 may share any of the characteristics attributed to ERM 150/250 by the present disclosure, and vice versa. In addition, on-premises production environment 302, cloud-based virtual production environment 304, network orchestrator or SDNO 306 correspond respectively in general to on-premises production environment 102, cloud-based virtual production environment 104, and SDNO 106, in FIG. 1. As a result, on-premises production environment 302, cloud-based virtual production environment 304, network orchestrator or SDNO 306 may share any of the characteristics attributed to respective on-premises production environment 102, cloud-based virtual production environment 104, and SDNO 106 by the present disclosure, and vice versa.
  • SDNO API 322 corresponds in general to SDNO API 122, in FIG. 1, and those corresponding features may share any of the characteristics attributed to either corresponding feature by the present disclosure. Moreover, multicast production media flows 332 a, cloud production media flows 342 a, post-production cloud media flows 342 b, and post-production multicast media flows 332 b correspond respectively in general to multicast production media flows 132 a, cloud production media flows 142 a, post-production cloud media flows 142 b, and post-production multicast media flows 132 b. Thus, multicast production media flows 332 a, cloud production media flows 342 a, post-production cloud media flows 342 b, and post-production multicast media flows 332 b may share any of the characteristics attributed to respective multicast production media flows 132 a, cloud production media flows 142 a, post-production cloud media flows 142 b, and post-production multicast media flows 132 b by the present disclosure, and vice versa. That is to say, in some implementations, cloud production media flows 342 a may be unicast production media flows 342 a, and post-production cloud media flows 342 b may be post-production unicast media flows 342 b.
  • The functionality of ERM 150/250/350 will be further described by reference to FIG. 4 in combination with FIGS. 1, 2, and 3. FIG. 4 shows flowchart 480 presenting an exemplary method for use by ERM 150/250/350. With respect to the method outlined in FIG. 4, it is noted that certain details and features have been left out of flowchart 480 in order not to obscure the discussion of the inventive features in the present application.
  • Referring to FIGS. 1, 3, and 4 in combination, flowchart 480 begins with communicating with SDNO 106/306 to identify one or more multicast production media flows 132 a/332 a for processing in cloud-based virtual production environment 104/304 (action 481). Multicast production media flows 132 a/332 a may include streaming audio content, streaming video content, streaming audio-video content, graphics, or one or more media files, to name a few examples. For example, in addition to the real-time media flows included in multicast production media flows 132 a/332 a, multicast production media flows 132 a/332 a may also include associated media files that could be used at runtime, could be re-used at other times, or could be exported. Moreover, where multicast production media flows 132 a/332 a include video, they may take the form of carriera feeds or remote feeds, for example.
  • It is noted that where multicast production media flows 132 a/332 a originate in on-premises production environment 102/302, the timing protocol applied to multicast production media flows 132 a/332 a may be incompatible with timing schemes permitted in the cloud. For example, timing of multicast production media flows 132 a/332 a may be controlled in on-premises production environment 102/302 using Precision Time Protocol (PTP), which is known in the art, but which is typically not permitted in cloud-based computing environments. However, it is contemplated that cloud-based virtual production environment 104 may evolve to support use of PTP. Consequently, in some implementations one or more multicast production media flows 132 a may have a timing protocol that is impermissible in cloud-based virtual production environment 104, while in other implementations the timing protocol used for one or more multicast production media flows 132 a may be permitted in cloud-based virtual production environment 104.
  • Action 481 may be triggered by workflow requirements, such as turnaround time or scheduling, by resource constraints imposed by local resources 110, or may be scheduled to occur at predetermined intervals (e.g., daily, weekly, monthly, etc.), for example. Referring to FIG. 2, with continued reference to FIGS. 1, 3, and 4, action 481 may be performed by resource management software code 258, executed by hardware processor 254 of ERM 150/250/350, and using SDNO API 122/322.
  • Flowchart 480 continues with identifying one or more of cloud-based resources 140 for processing one or more cloud production media flows 142 a/342 a in cloud-based virtual production environment 104/304 (action 482). One or more cloud production media flows 142 a/342 a may be converted from and correspond to one or more multicast production media flows 132 a/332 a identified in action 481. It is noted that, in some implementations, conversion of one or more multicast production media flow(s) 132 a/332 a into one or more cloud production media flows 142 a/342 a may be performed by hybrid cloud-based media production system 100. However, in other implementations, that conversion may be performed by a host provider supplying cloud-based resources 140, or by an independent third party provider of multicast to unicast conversion services.
  • Conversion of one or more multicast production media flows 132 a/332 a into one or more cloud production media flows 142 a/342 a is typically performed before delivery of one or more cloud production media flows 142 a/342 a into cloud bandwidth 144 of cloud-based virtual production environment 104/304. Conversion of one or more multicast production media flows 132 a/332 a into one or more cloud production media flows 142 a/342 a may include aliasing, performing Network Address Translation (NATing), or some other form of IP address translation to convert one or more multicast production media flows 132 a/332 a into unicast production media flows, or into any other IP transmission format permissible in cloud-based virtual production environment 104/304. Identification of cloud-based resources 140 needed to process one or more cloud production media flows 142 a/342 a may be performed by resource management software code 258, executed by hardware processor 254 of ERM 150/250/350.
  • Flowchart 480 continues with determining whether a license or licenses exists for the one or more cloud-based resources identified in action 482 (action 483). Action 483 may be performed by resource management software code 258, executed by hardware processor 254 of ERM 150/250/350. For example, in some implementations, action 483 may include ERM 150/250/350 communicating with resources database 362 via communication link 370 to determine what license resources are presently in effect, and whether those licensing resources cover the one or more cloud-based resources needed to process one or more cloud production media flows 142 a/342 a in cloud-based virtual production environment 104/304.
  • Flowchart 480 continues with obtaining the license or licenses for the one or more cloud-based resources needed to process one or more cloud production media flows 142 a/342 a in cloud-based virtual production environment 104/304 if that/those license(s) do not exist (action 484). Action 484 may be performed by resource management software code 258, executed by hardware processor 254 of ERM 150/250/350. For example, in some implementations, action 484 may include ERM 150/250/350 communicating with licensing database 368 via licensing API 378 to obtain any needed licenses. However, it is noted that in use cases in which action 483 determines that the necessary license(s) exist, action 484 may be skipped.
  • It is noted that possible use cases giving rise to situations in which a needed license does not exist may include a last-minute change in workflow resulting in a function not having been planned for, a change in vendor, or the expiration of a license. However, in some use cases there may be a “site license” for a function, as known in the art, eliminating the need for license reporting.
  • Flowchart 480 continues with provisioning cloud-based virtual production environment 104/304 with the one or more cloud-based resources 140 identified as needed for processing one or more cloud production media flows 142 a in action 482 (action 485). Action 485 may follow action 484, or may be performed in response to determining that the necessary license(s) already exist in action 483. Provisioning cloud-based virtual production environment 104/304 with cloud-based resources 140 may include one or more of reserving cloud bandwidth 144, ordering cloud-based computing and data storage resources 146, and ordering cloud-based production applications 148, for example. Provisioning of cloud-based virtual production environment in action 485 may be performed by resource management software code 258, executed by hardware processor 254 of ERM 150/250/350, and using cloud API 374.
  • In some implementations, the method outlined by flowchart 480 may conclude with action 485 described above. However, in other implementations, flowchart 480 may continue with the optional action of reserving common carrier bandwidth for transporting one or more cloud production media flows 142 a/342 a into cloud-based virtual production environment 104/304 (action 486). For example, in some implementations, optional action 486 may include identifying the amount of common carrier bandwidth required for transporting one or more cloud production media flows 142 a/342 a into cloud-based virtual production environment 104/304, and then reserving it. Reserving common carrier bandwidth for transporting one or more cloud production media flows 142 a/342 a into cloud-based virtual production environment 104/304 may be performed by resource management software code 258, executed by hardware processor 254 of ERM 150/250/350. In some implementations, for instance such a reservation may be made by ERM 150/250/350 through use of common carrier interface 366 and common carrier API 372.
  • It is noted that as production media flows are converted from multicast production media flow(s) 132 a/332 a to one or more cloud production media flows 142 a/342 a, they may come through different network paths, resulting in wander and jitter that causes one or more cloud production media flows 142 a/342 a to move out of time with one another. Because production processing of one or more cloud production media flows 142 a/342 a is to be performed in cloud-based virtual production environment 104/304, alignment of one or more cloud production media flows 142 a/342 a must typically be done after their delivery into cloud-based virtual production environment 104/304, and may be performed by SDNO 106/306 using a cloud permissible or “cloud friendly” timing protocol.
  • As noted above, in on-premises production environment 102/302, PTP may be used in media-over-IP to align multicast production media flow(s) 132 a/332 a. In order to achieve analogous timing in cloud-based virtual production environment 104/304 in implementations in which use of PTP is not permitted there, one or more cloud production media flows 142 a/342 a must be buffered, as well as being timed using a cloud permissible timing protocol, such as Network Time Protocol (NTP) for example.
  • Optional action 486 may also include reserving common carrier bandwidth for transporting one or more post-production cloud media flows 142 b/342 b out of cloud-based virtual production environment 104/304 after processing of one or more cloud production media flows 142 a/342 a in cloud-based virtual production environment 104/304. For example, in some implementations, optional action 486 may include identifying the amount of common carrier bandwidth required for transporting one or more post-production cloud media flows 142 b/342 b out of cloud-based virtual production environment 104/304, and then reserving it. Reserving common carrier bandwidth for transporting one or more post-production cloud media flows 142 b/342 b out of cloud-based virtual production environment 104/304 may be performed by resource management software code 258, executed by hardware processor 254 of ERM 150/250/350. In some implementations, for instance such a reservation may be made by ERM 150/250/350 through use of common carrier interface 366 and common carrier API 372.
  • In some implementations, flowchart 480 can continue with the optional action of deactivating cloud-based virtual production environment 104/304 after processing of one or more cloud production media flows 142 a/342 a is complete (action 487). Action 487 results in effective withdrawal of hybrid cloud-based media production system 100 from cloud-based virtual production environment 104/304. In other words, cloud-based resources 140 ordered by ERM 150/250/350 and allocated to hybrid cloud-based media production system 100, such as cloud bandwidth 144, cloud-based computing and data storage resources 146, cloud-based production applications 148, and any temporary licenses obtained by ERM 150/250/350, are relinquished back to the cloud host.
  • Optional action 487 may be performed by resource management software code 258, executed by hardware processor 254 of ERM 150/250/350. For example, after processing of one or more cloud production media flows 142 a/142 b using the one or more cloud-based resources 140 identified in action 482, hardware processor 254 may execute resource management software code to receive a notification from SDNO 106/306 of hybrid cloud-based media production system 100, and deactivate, in response to receiving the notification, cloud-based virtual production environment 104/304.
  • It is noted that, in some implementations, after processing of one or more cloud production media flows 142 a/342 a into one or more post-production cloud media flows 142 b/342 b, one or more post-production cloud media flows 142 b/342 b may be converted into one or more post-production multicast media flows 132 b/332 b. Once converted, one or more post-production media flows 132 b may be returned to on-premises production environment 102/302, or one or more post-production media flows 132 b may be transmitted to physical post-production facility 134. As noted above, physical post-production facility 134 may be another production facility similar to on-premises production environment 102/302, or may be a media distribution hub, such as a regional affiliate or other affiliated media distributor. Conversion of one or more post-production cloud media flows 142 b/342 b into one or more post-production multicast media flows 132 b/332 b, as well as recovery or transmission of one or more post-production multicast media flows 132 b/332 b, may be performed by SDNO 106/306.
  • In some implementations, and as shown in FIG. 4, flowchart 480 can continue and conclude with optionally generating report(s) 224 including at least the ROI for one or more post-production cloud media flows 142 b/342 b and/or post-production multicast media flows 132 b/332 b (action 488). For example, and as discussed above by reference to FIG. 2, in some implementations, hardware processor 254 may execute resource management software code 258 to aggregate financial metrics corresponding to processing of one or more cloud production media flows 142 a/342 a using cloud-based resources 140, and to determine, using one or more of those financial metrics, the cost of processing one or more cloud production media flows 142 a/342 a in cloud-based virtual production environment 104/304. Moreover, in some implementations, hardware processor 254 may frther execute resource management software code 258 to obtain revenue data for one or more post-production cloud media flows 142 b/342 b corresponding respectively to one or more cloud production media flows 142 a/342 a, to determine, using the cost and the revenue data, the ROI for one or more post-production cloud media flows 142 b/342 b, and to generate report(s) 224 including at least the ROI.
  • It is emphasized that one or more of optional actions 486, 487, and 488, as well as action 484 may be omitted from the method outlined by flowchart 480. Thus, in some implementations, the method outlined by flowchart 480 may continue directly from action 483 to conclude with action 485, while in other implementations actions 481, 482, 483, 484, and 485 (hereinafter “actions 481-485”) may be performed. Moreover, action 485 may be followed by any one of actions 486, 487, or 488. It is also noted that, in some implementations, hardware processor 254 may execute resource management software code 258 to perform actions 481, 482, 483, and 485, or actions 481-485, or actions 481, 482, 483, and 485 or 481-485 as well as one or more of actions 486, 487, and 488, in an automated process from which human involvement may be omitted.
  • Thus, the present application describes an ERM solution that addresses and overcomes the drawbacks and deficiencies in the conventional art. The ERM solution disclosed in the present application can be used to enable a true hybrid production environment that is configured to scale to a much greater resource capability than is available locally. Media applications used in the production process would look the same regardless of whether they are local resources or cloud-based resources. The disclosed ERM solution may be advantageously utilized to manage and allocate the added resources needed when they are not local.
  • From the above description it is manifest that various techniques can be used for implementing the concepts described in the present application without departing from the scope of those concepts. Moreover, while the concepts have been described with specific reference to certain implementations, a person of ordinary skill in the art would recognize that changes can be made in form and detail without departing from the scope of those concepts. As such, the described implementations are to be considered in all respects as illustrative and not restrictive. It should also be understood that the present application is not limited to the particular implementations described herein, but many rearrangements, modifications, and substitutions are possible without departing from the scope of the present disclosure.

Claims (20)

What is claimed is:
1. An extensible resource manager (ERM) of a hybrid cloud-based media production system, the ERM comprising:
a computing platform having a hardware processor and a memory storing a resource management software code;
the hardware processor configured to execute the resource management software code to:
communicate with a network orchestrator of the hybrid cloud-based media production system to identify at least one multicast production media flow for processing in a cloud-based virtual production environment;
identify at least one cloud-based resource for processing one or more cloud production media flows in the cloud-based virtual production environment, the one or more cloud production media flows corresponding to the identified at least one multicast production media flow;
determine whether a license exists for the identified at least one cloud-based resource;
obtain the license when the license does not exist; and
provision, after obtaining the license or in response to determining that the license exists, the cloud-based virtual production environment with the identified at least one cloud-based resource.
2. The ERM of claim 1, wherein the hardware processor is further configured to execute the resource management software code to:
identify a common carrier bandwidth required for transporting the one or more cloud production media flows into the cloud-based virtual production environment; and
reserve the common carrier bandwidth.
3. The ERM of claim 1, wherein the hardware processor is further configured to execute the resource management software code to:
after processing of the one or more cloud production media flows using the identified at least one cloud-based resource, receive a notification from the network orchestrator of the hybrid cloud-based media production system; and
deactivate, in response to receiving the notification, the cloud-based virtual production environment.
4. The ERM of claim 3, wherein deactivating the cloud-based virtual production environment comprises relinquishing the identified at least one cloud-based resource.
5. The ERM of claim 1, wherein the hardware processor is further configured to execute the resource management software code to:
after processing of the one or more cloud production media flows, identify a common carrier bandwidth required for transporting one or more post-production cloud media flows corresponding respectively to the one or more cloud production media flows out of the cloud-based virtual production environment; and
reserve the common carrier bandwidth.
6. The ERM of claim 1, wherein the identified at least one multicast production media flow comprises at least one of streaming audio content, streaming video content, or streaming audio-video content.
7. The ERM of claim 1, wherein the identified at least one multicast production media flow comprises graphics.
8. The ERM of claim 1, wherein the identified at least one multicast production media flow comprises or one or more media files.
9. The ERM of claim 1, wherein the hardware processor is further configured to execute the resource management software code to:
aggregate a plurality of financial metrics corresponding to processing of the one or more cloud production media flows using the identified at least one cloud-based resource; and
determine, using one or more of the plurality of financial metrics, a cost of processing the one or more cloud production media flows.
10. The ERM of claim 9, wherein the hardware processor is further configured to execute the resource management software code to:
obtain a revenue data for one or more post-production cloud media flows corresponding respectively to the one or more cloud production media flows;
determine, using the cost and the revenue data, a return-on-investment (ROI) for the one or more post-production cloud media flows; and
generate a report including at least the ROI.
11. A method for use by an extensible resource manager (ERM) of a hybrid cloud-based media production system, the ERM including a computing platform having a hardware processor and a memory storing a resource management software code, the method comprising:
communicating, by the resource management software code executed by the hardware processor, with a network orchestrator of the hybrid cloud-based media production system to identify at least one multicast production media flow for processing in a cloud-based virtual production environment;
identifying, by the resource management software code executed by the hardware processor, at least one cloud-based resource for processing one or more cloud production media flows in the cloud-based virtual production environment, the one or more cloud production media flows corresponding to the identified at least one multicast production media flow;
determining, by the resource management software code executed by the hardware processor, whether a license exists for the identified at least one cloud-based resource;
obtaining, by the resource management software code executed by the hardware processor, the license when the does not exist; and
provisioning, after obtaining the license or in response to determining that the license exists, by the resource management software code executed by the hardware processor, the cloud-based virtual production environment with the identified at least one cloud-based resource.
12. The method of claim 11, further comprising:
identifying, by the resource management software code executed by the hardware processor, a common carrier bandwidth required for transporting the one or more cloud production media flows into the cloud-based virtual production environment; and
reserving, by the resource management software code executed by the hardware processor, the common carrier bandwidth.
13. The method of claim 11, further comprising:
receiving, after processing of the one or more cloud production media flows using the identified at least one cloud-based resource, by the resource management software code executed by the hardware processor, a notification from the network orchestrator of the hybrid cloud-based media production system; and
deactivating, in response to receiving the notification, by the resource management software code executed by the hardware processor, the cloud-based virtual production environment.
14. The method of claim 13, wherein deactivating the cloud-based virtual production environment comprises relinquishing the identified at least one cloud-based resource.
15. The method of claim 11, further comprising:
identifying, after processing of the one or more cloud production media flows, by the resource management software code executed by the hardware processor, a common carrier bandwidth required for transporting one or more post-production cloud media flows corresponding respectively to the one or more cloud production media flows out of the cloud-based virtual production environment; and
reserving, by the resource management software code executed by the hardware processor, the common carrier bandwidth.
16. The method of claim 11, wherein the identified at least one multicast production media flow comprises at least one of streaming audio content, streaming video content, or streaming audio-video content.
17. The method of claim 11, wherein the identified at least one multicast production media flow comprises graphics.
18. The method of claim 11, wherein the identified at least one multicast production media flow comprises or one or more media files.
19. The method of claim 11, further comprising:
aggregating, by the resource management software code executed by the hardware processor, a plurality of financial metrics corresponding to processing of the one or more cloud production media flows using the identified at least one cloud-based resource; and
determining, using one or more of the plurality of financial metrics, by the resource management software code executed by the hardware processor, a cost of processing the one or more cloud production media flows.
20. The method of claim 19, further comprising:
obtaining, by the resource management software code executed by the hardware processor, a revenue data for one or more post-production cloud media flows corresponding respectively to the one or more cloud production media flows;
determining, using the cost and the revenue data, by the resource management software code executed by the hardware processor, a return-on-investment (ROI) for the one or more post-production cloud media flows; and
generating, by the resource management software code executed by the hardware processor, a report including at least the ROI.
US16/869,203 2019-06-20 2020-05-07 Extensible resource management for hybrid cloud-based media production Active 2040-07-04 US11212258B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/869,203 US11212258B2 (en) 2019-06-20 2020-05-07 Extensible resource management for hybrid cloud-based media production

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962864279P 2019-06-20 2019-06-20
US16/869,203 US11212258B2 (en) 2019-06-20 2020-05-07 Extensible resource management for hybrid cloud-based media production

Publications (2)

Publication Number Publication Date
US20200404035A1 true US20200404035A1 (en) 2020-12-24
US11212258B2 US11212258B2 (en) 2021-12-28

Family

ID=74038108

Family Applications (5)

Application Number Title Priority Date Filing Date
US16/800,853 Active 2040-03-05 US11470041B2 (en) 2019-06-20 2020-02-25 Software defined network orchestration to manage media flows for broadcast with public cloud networks
US16/869,137 Active 2040-08-06 US11228564B2 (en) 2019-06-20 2020-05-07 Hybrid cloud-based media production
US16/869,236 Active 2040-11-12 US11362994B2 (en) 2019-06-20 2020-05-07 Media flow transport security management
US16/869,203 Active 2040-07-04 US11212258B2 (en) 2019-06-20 2020-05-07 Extensible resource management for hybrid cloud-based media production
US17/815,147 Pending US20220360559A1 (en) 2019-06-20 2022-07-26 Software defined network orchestration to manage media flows for broadcast with public cloud networks

Family Applications Before (3)

Application Number Title Priority Date Filing Date
US16/800,853 Active 2040-03-05 US11470041B2 (en) 2019-06-20 2020-02-25 Software defined network orchestration to manage media flows for broadcast with public cloud networks
US16/869,137 Active 2040-08-06 US11228564B2 (en) 2019-06-20 2020-05-07 Hybrid cloud-based media production
US16/869,236 Active 2040-11-12 US11362994B2 (en) 2019-06-20 2020-05-07 Media flow transport security management

Family Applications After (1)

Application Number Title Priority Date Filing Date
US17/815,147 Pending US20220360559A1 (en) 2019-06-20 2022-07-26 Software defined network orchestration to manage media flows for broadcast with public cloud networks

Country Status (1)

Country Link
US (5) US11470041B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11212258B2 (en) 2019-06-20 2021-12-28 Disney Enterprises, Inc. Extensible resource management for hybrid cloud-based media production
US11455228B2 (en) 2020-08-03 2022-09-27 Disney Enterprises, Inc. Non-linear management of real time sequential data in cloud instances via time constraints
US11695732B2 (en) 2021-05-13 2023-07-04 Disney Enterprises Inc. Architecture features for a media-centric firewall

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114064211B (en) * 2021-11-15 2023-06-02 湖北公众信息产业有限责任公司 Video stream analysis system and method based on end-side-cloud computing architecture

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610621B2 (en) * 2004-03-10 2009-10-27 Eric White System and method for behavior-based firewall modeling
US7721117B2 (en) * 2005-04-01 2010-05-18 Sherer W Paul Stream control failover utilizing an attribute-dependent protection mechanism
WO2008141169A1 (en) * 2007-05-09 2008-11-20 Entropic Communications, Inc. Aggregating network packets for transmission to a destination node
KR101669384B1 (en) * 2007-07-03 2016-10-25 쓰리엠 이노베이티브 프로퍼티즈 컴파니 System and method for assigning pieces of content to time-slots samples for measuring effects of the assigned content
CA2743144C (en) * 2008-11-12 2016-04-05 Level 3 Communications, Llc Dynamic processing of streamed content
EP2211502A1 (en) * 2009-01-22 2010-07-28 IBBT vzw Management system and method for configuring a network for transferring media data
US9246964B2 (en) * 2012-11-09 2016-01-26 International Business Machines Corporation Streaming data on data processes
US8601144B1 (en) * 2012-11-27 2013-12-03 Sansay, Inc. Systems and methods for automatic ICE relay candidate creation
US9300633B2 (en) * 2013-03-25 2016-03-29 International Business Machines Corporation Network-level access control management for the cloud
US9674251B2 (en) * 2013-06-17 2017-06-06 Qualcomm Incorporated Mediating content delivery via one or more services
US10356138B2 (en) 2014-01-13 2019-07-16 Telefonaktiebolaget Lm Ericsson (Publ) Method and nodes for configuring a communication path for a media service
US9380030B2 (en) * 2014-05-20 2016-06-28 Avay Inc. Firewall traversal for web real-time communications
US9906568B2 (en) * 2014-08-28 2018-02-27 Avaya Inc. Hybrid cloud media architecture for media communications
US9756374B2 (en) * 2014-09-10 2017-09-05 Ericsson Ab Advertisement targeting scheme in a multicast ABR environment based on throttled ad channel streaming
EP3257216B1 (en) * 2015-02-11 2021-01-27 Expway Method of handling packet losses in transmissions based on dash standard and flute protocol
EP3304329A4 (en) 2015-06-01 2018-10-31 Benjamin Aaron Miller Break state detection in content management systems
US20180262551A1 (en) * 2015-09-21 2018-09-13 Dolby Laboratories Licensing Corporation Efficient delivery of customized content over intelligent network
US10931727B2 (en) * 2016-03-30 2021-02-23 Arris Enterprises Llc Transparent intercept for adaptive bitrate splicer
US10320952B2 (en) * 2016-05-16 2019-06-11 Mellanox Technologies Tlv Ltd. System-wide synchronized switch-over of multicast flows
US10015528B2 (en) * 2016-06-01 2018-07-03 Arris Enterprises Llc Methods and systems for generation of dynamic multicast channel maps
CN106209688B (en) 2016-07-13 2019-01-08 腾讯科技(深圳)有限公司 Cloud data multicast methods, devices and systems
US10440403B2 (en) 2017-01-27 2019-10-08 Gvbb Holdings S.A.R.L. System and method for controlling media content capture for live video broadcast production
CN110915180B (en) * 2017-05-16 2022-06-28 瑞典爱立信有限公司 Low-latency media ingestion system, apparatus and method
US10986421B2 (en) 2017-07-03 2021-04-20 Dolby Laboratories Licensing Corporation Identification and timing data for media content
US11442445B2 (en) 2017-08-02 2022-09-13 Strong Force Iot Portfolio 2016, Llc Data collection systems and methods with alternate routing of input channels
US10284889B1 (en) 2018-01-31 2019-05-07 Verizon Patent And Licensing Inc. Determining an actual start of program content relative to a scheduled start of the program content
US11017539B2 (en) 2018-04-30 2021-05-25 Intel Corporation Object tracking and identification using intelligent camera orchestration
US11032595B2 (en) * 2018-09-28 2021-06-08 Rovi Guides, Inc. Systems and methods for delivery of content via multicast and unicast
US11252127B2 (en) * 2018-12-11 2022-02-15 Level 3 Communications, Llc Systems and methods for processing requests for content of a content distribution network
US11297494B2 (en) * 2019-02-01 2022-04-05 T-Mobile Usa, Inc. Secure rich communication services multicast system
US10942762B2 (en) 2019-03-29 2021-03-09 Hewlett Packard Enterprise Development Lp Launch web browser applications in microservice-based containers
US11470041B2 (en) 2019-06-20 2022-10-11 Disney Enterprises, Inc. Software defined network orchestration to manage media flows for broadcast with public cloud networks
US11451533B1 (en) 2019-09-26 2022-09-20 Joinesty, Inc. Data cycling
US11309975B2 (en) 2020-02-10 2022-04-19 Schweitzer Engineering Laboratories, Inc. Fiber-optically powered antenna

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11212258B2 (en) 2019-06-20 2021-12-28 Disney Enterprises, Inc. Extensible resource management for hybrid cloud-based media production
US11228564B2 (en) * 2019-06-20 2022-01-18 Disney Enterprises, Inc. Hybrid cloud-based media production
US11362994B2 (en) 2019-06-20 2022-06-14 Disney Enterprises, Inc. Media flow transport security management
US11470041B2 (en) 2019-06-20 2022-10-11 Disney Enterprises, Inc. Software defined network orchestration to manage media flows for broadcast with public cloud networks
US11455228B2 (en) 2020-08-03 2022-09-27 Disney Enterprises, Inc. Non-linear management of real time sequential data in cloud instances via time constraints
US11695732B2 (en) 2021-05-13 2023-07-04 Disney Enterprises Inc. Architecture features for a media-centric firewall

Also Published As

Publication number Publication date
US20200404034A1 (en) 2020-12-24
US11212258B2 (en) 2021-12-28
US20220360559A1 (en) 2022-11-10
US11228564B2 (en) 2022-01-18
US20200404033A1 (en) 2020-12-24
US11362994B2 (en) 2022-06-14
US11470041B2 (en) 2022-10-11
US20200403972A1 (en) 2020-12-24

Similar Documents

Publication Publication Date Title
US11212258B2 (en) Extensible resource management for hybrid cloud-based media production
KR102127019B1 (en) Multi-modal communication priority over wireless networks
CN101641917B (en) Network resource negotiation
WO2018161933A1 (en) Live broadcast stream transmission method, apparatus and system, and computer readable storage medium, and computer device
WO2014082538A1 (en) Business scheduling method and apparatus and convergence device
CN110035256B (en) Processing method and device for monitoring resource permission
US8077615B2 (en) Multicast admission control
CN102257764B (en) Multicast quality of service module and method
CN106716939A (en) Improved qos in data stream delivery
CN109873864B (en) Communication connection establishing method and system based on video networking
CN110708493B (en) Method and device for acquiring permission of participating in video networking conference
CN110519549B (en) Conference terminal list obtaining method and system
CN109922302B (en) Conference reservation information acquisition method, system, device and machine readable medium
US11337038B2 (en) Method, device and system for transmitting multicast group information
DK2355403T3 (en) PROCEDURE FOR DISTRIBUTION OF DATA ON A MOBILE AD-HOC REMOVAL DATA
CN110719433B (en) Method and device for displaying online state of terminal, electronic equipment and storage medium
US20220035724A1 (en) Non-linear management of real time sequential data in cloud instances via time constraints
CN109600567B (en) Video conference processing method and system
CN109819209B (en) System, method and device for monitoring resource calling
CN110557611B (en) Information synchronization method, device and storage medium
CN113114973A (en) Video conference method, device and system
US20230077580A1 (en) Priority-Based Production Load Balancing
CN111683228A (en) Data transmission method and device based on video network, electronic equipment and storage medium
CN109802853B (en) Method and device for grading service quality
US11546398B1 (en) Real-time transport (RTC) with low latency and high scalability

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: DISNEY ENTERPRISES, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:STREIN, MICHAEL J.;BEARDSLEY, CRAIG L.;MCCORMICK, RYAN N.;REEL/FRAME:052692/0713

Effective date: 20200506

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: AWAITING TC RESP., ISSUE FEE NOT PAID

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE