Computer-implemented system and method for providing a multipurpose control and networking platform
The multipurpose control and networking platform addresses integration challenges by providing a unified, efficient, and secure system for managing and connecting multiple computing systems and software applications, enhancing production efficiency and reducing operational costs.
Patent Information
- Application Number
- JP2025514653
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-04-15
- Filing Date
- 2023-09-11
- Publication Date
- 2025-09-11
AI Technical Summary
Existing systems face challenges in efficiently integrating and managing multiple computing systems and software applications across different venues or production locations, with issues in data communication, security, resource management, and user authentication, leading to high integration and operation costs, production delays, and inefficient resource use.
A computer-implemented multipurpose control and networking platform that aggregates systems, software applications, and cloud-based services into a unified platform, enabling seamless, efficient system integration and management, with technology-agnostic deployment, secure communication, and dynamic device connection capabilities.
The platform provides rapid, efficient, and secure integration of disparate systems, reducing operational costs and delays by enabling seamless, scalable, and secure communication across various production environments, supporting flexible access and configuration of devices and networks.
Smart Images

Figure 2025530282000001_ABST
Abstract
Description
[Technical Field]
[0001] [Reference to Related Applications] This application claims priority to U.S. Provisional Application No. 63 / 375,219 (filed September 9, 2022), U.S. Provisional Application No. 63 / 490,992 (filed March 17, 2023), and U.S. Provisional Application No. 63 / 496,388 (filed April 15, 2023). Each of the above-referenced applications is expressly incorporated herein by reference in its entirety.
[0002] The present disclosure relates generally to the field of computing systems and data processing systems and methods. More specifically, but not by way of limitation, the present disclosure relates to computer-implemented systems and methods for multipurpose control and networking platforms. The present disclosure also relates to systems and methods for dynamically connecting devices for secure communication and configuring and managing service solutions and / or features. These and other aspects are encompassed by the present disclosure. [Background technology]
[0003] Systems integration and production is the process of coordinating different computing systems and software applications to provide one or more production services, including recording and broadcasting of live events. This process generally involves integrating different existing equipment, software applications, and systems. Such systems and software applications may be implemented for a variety of purposes and solutions, such as digital media and entertainment services designed to deliver content on a global scale. In current systems and environments, digital asset management, video creation and distribution, virtual production, broadcasting, and streaming, among other creative endeavors, continue to evolve and require adaptation to ongoing trends and technological disruptions.
[0004] In addition to managing the equipment and variables mentioned above, many technical challenges and needs exist with such existing systems. For example, system integration and collaboration can be difficult to implement across multiple venues or different production locations, and / or when different devices and technologies must be used. Other challenges exist with respect to managing resources and communicating large amounts of data, the inability to securely communicate and share data, and the difficulty of outsourcing operations to third parties. This can result in high integration and operation costs, production delays, and inefficient use of resources.
[0005] Furthermore, existing systems and methods fail to provide effective and efficient solutions for managing and connecting different systems and software applications. Also, improved methods for providing user access and authenticating users and / or devices are needed. Additionally, improvements are needed to provide users and / or devices with the flexibility to access and connect with independent systems and software applications in a technology-unrelated manner. These and other shortcomings and needs in the art are addressed by embodiments of the present disclosure. Summary of the Invention
[0006] The present disclosure relates generally to the field of computing and data processing systems and methods. Further, but not by way of limitation, the present disclosure relates to computer-implemented systems and methods for multipurpose control and networking platforms.
[0007] Embodiments of the present disclosure provide improved solutions for system integration and management of applications and resources. The disclosed embodiments provide a solution for efficiently aggregating systems, software applications, equipment, networks, and cloud-based services using a unified, feature-rich platform. Advantageously, the embodiments disclosed herein can bring together and connect multiple disparate systems into a unified, feature-rich platform, providing highly complex setup and production methods in a seamless, simple, and efficient manner. Systems and methods consistent with embodiments of the present disclosure can also provide rapid, technology-agnostic deployment, configuration, and monitoring for software-defined networking solutions.
[0008] Embodiments of the present disclosure include computer-implemented systems and methods for a multipurpose control and networking platform. A system according to some embodiments may include a plurality of network devices comprising a broadcast device. The broadcast device may transmit at least one of an audio signal, a video signal, and a data signal. The plurality of network devices may be dynamically connected for secure communication with at least one processor (e.g., a server or computing platform). The at least one processor may be configured to configure at least one of a service solution or function. The at least one processor may also be configured to deploy at least one of the service solution or function among the plurality of network devices using one or more standalone local clusters for the plurality of network devices. The at least one processor may also be configured to monitor and control the deployment of at least one of the service solution or function.
[0009] Embodiments of the present disclosure also include computer-implemented systems and methods for dynamically connecting devices for secure communication. In some embodiments, a system is provided that includes at least one primary node communicatively connected to at least one secondary node. In some embodiments, the at least one primary node may be configured to connect a plurality of network devices to a broadcast controller. The broadcast controller may be configured to control and transmit at least one of audio, video, or data signals captured by the plurality of network devices to a plurality of receiving devices. In some embodiments, the at least one secondary node may be configured to connect at least a first device of the plurality of network devices to the at least one primary node. The system may also include at least one processor. The at least one processor may be configured to connect the at least a first device for secure communication with the broadcast controller using the at least one primary node and / or the at least one secondary node. The at least one processor may also be configured to manage the secure communication with the broadcast controller.
[0010] Further, embodiments of the present disclosure include computer-implemented systems and methods for providing a software-defined network for broadcasting. In some embodiments, a system including a plurality of devices is provided. The system may also include a broadcast controller configured to control and transmit at least one of audio signals, video signals, or data signals from the plurality of devices to a plurality of receiving devices. The system may also include at least one processor. The at least one processor may be configured to connect at least one of the plurality of devices to the broadcast controller via a new connection. The at least one processor may also be configured to scan for new connections to detect newly connected devices or users of connected devices. The at least one processor may further be configured to dynamically adapt at least one of service solutions or features in response to the detected newly connected devices or their users.
[0011] According to the present disclosure, computer-implemented systems are provided that include one or more computing devices configured to perform particular operations or actions by installing software, firmware, hardware, or a combination thereof that, when in operation, causes the computing device to perform the operation or actions. For example, one or more computer programs may be configured to perform operations or actions by including instructions that, when executed by a data processing device (such as one or more processors), cause the device to perform such operations or actions.
[0012] The foregoing and following examples are provided for the reader's convenience to provide a basic understanding of such embodiments, but do not fully define the breadth of the present disclosure. Accordingly, the foregoing summary is not an exhaustive overview of all contemplated embodiments, nor is it intended to identify key or critical elements of all embodiments or delineate the scope of any or all aspects. Instead, its purpose is to present some concepts of one or more embodiments in a simplified form as a prelude to the more detailed description that is presented herein.
[0013] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several embodiments and, together with the description, serve to explain the disclosed principles. [Brief explanation of the drawings]
[0014] [Figure 1] 1 illustrates an exemplary system according to an embodiment of the present disclosure. [Figure 2] 1 illustrates another exemplary system according to an embodiment of the present disclosure. [Figure 3] 1 illustrates an exemplary system with a cloud-based cluster implementation, according to an embodiment of the present disclosure. [Figure 4] 1 illustrates an exemplary operating environment including a system having a cloud-based cluster and a standalone local cluster, according to an embodiment of the present disclosure. [Figure 5] 1 illustrates an exemplary production environment including a system for a multi-venue event, according to an embodiment of the present disclosure. [Figure 6] 1 illustrates another exemplary production environment including a system for large-scale broadcast events, according to embodiments of the present disclosure. [Figure 7] 1 illustrates an exemplary graphical user interface associated with a multi-purpose control and networking platform, according to an embodiment of the present disclosure. [Figure 8]1 illustrates an exemplary operating environment including a system having an end-user device, a broadcast controller, and a software-defined network, according to an embodiment of the present disclosure. [Figure 9] 1 illustrates a flowchart of an exemplary method for utilizing a centralized resource pool to recover from equipment failures, according to an embodiment of the present disclosure. [Figure 10] 1 illustrates an exemplary graphical user interface associated with a Pathfinder component of a software-defined network, according to an embodiment of the present disclosure. [Figure 11] 1 illustrates a system including a pathfinder component for software-defined networking, according to an embodiment of the present disclosure. [Figure 12] 1 illustrates a flowchart of an exemplary method for implementing a multi-purpose control and networking platform, according to an embodiment of the present disclosure. [Figure 13] 1 illustrates a flowchart of an exemplary method for dynamically connecting multiple network devices for secure communication, according to an embodiment of the present disclosure. [Figure 14] 1 illustrates a flowchart of an exemplary method for providing a software-defined network, according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0015] Exemplary embodiments are described herein with reference to the accompanying drawings. The figures are illustrative and are not necessarily drawn to scale. While examples and features of the disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the spirit and scope of the disclosed embodiments. Additionally, the terms "comprising," "having," "containing," and "including," as well as other similar forms, are intended to be equivalent in meaning and open-ended, in the sense that the item(s) following any one of these terms are not intended to be an exhaustive list of such item(s) or to be limited only to the listed item(s). It should also be noted that, as used in this specification and the appended claims, the singular forms "a," "an," and "the" include plural references unless the context clearly dictates otherwise.
[0016] Throughout this disclosure, references are made to "disclosed embodiments," which refer to examples of the inventive ideas, concepts, and / or expressions described herein. Many related and unrelated embodiments are described throughout this disclosure. The fact that some "disclosed embodiments" are described as exhibiting a feature or characteristic does not imply that other disclosed embodiments necessarily share that feature or characteristic.
[0017] The embodiments described herein include a non-transitory computer-readable medium containing instructions that, when executed by at least one processor, cause the at least one processor to perform a method or set of operations. The non-transitory computer-readable medium may be any medium capable of storing data in any memory in a manner that can be read by any computing device having a processor to execute a method or any other instructions stored in the memory. The non-transitory computer-readable medium may be implemented to include any combination of software, firmware, and hardware. The software may preferably be implemented as an application program tangibly embodied on a program storage unit or computer-readable medium consisting of portions, or specific devices and / or combinations of devices. The application program may be uploaded to and executed by a machine having any suitable architecture. Preferably, the machine may be implemented on a computer platform having hardware such as one or more central processing units (“CPUs”), memory, and input / output interfaces. The computer platform may also include an operating system and programmable instructions or code. The various processes and functions described in this disclosure may either be part of programmable instructions or code or part of an application program, or any combination thereof, that may be executed by a CPU, whether or not such a computer or processor is explicitly shown. In addition, various other peripheral units, such as additional data storage units and display devices, may be connected to the computer platform. Furthermore, a non-transitory computer-readable medium may be any computer-readable medium except a transitory, propagating signal.
[0018] Memory may include any mechanism for storing electronic data or instructions, including random access memory (RAM), read-only memory (ROM), hard disk, optical disk, magnetic media, flash memory, other permanent, fixed, volatile, or nonvolatile memory. Memory may include one or more separate storage devices, collocated or distributed, capable of storing data structures, instructions, or any other data. Memory may further include a memory portion that contains instructions for the processor to execute. Memory may also be used as a working memory device for the processor or as temporary storage.
[0019] Some embodiments may include at least one processor. "At least one processor" may constitute any physical computing device or group of devices having electrical circuitry that performs logical operations on one or more inputs. For example, the at least one processor may include one or more integrated circuits (ICs), including application-specific integrated circuits (ASICs), microchips, microcontrollers, microprocessors, such as all or part of a central processing unit (CPU), graphics processing unit (GPU), digital signal processor (DSP), field programmable gate array (FPGA), server, virtual server, or other circuitry suitable for executing instructions or performing logical operations. The instructions executed by the at least one processor may be pre-loaded into memory integrated with or embedded in the controller, for example, or may be stored in a separate memory.
[0020] In some embodiments, the at least one processor may include multiple processors. Each processor may have a similar configuration, or the processors may be of different configurations that are electrically connected or disconnected from one another. For example, the processors may be separate circuits or integrated into a single circuit. When multiple processors are used, the processors may be configured to operate independently or cooperatively. The processors may be coupled electrically, magnetically, optically, acoustically, mechanically, or by other means that allow them to interact.
[0021] As used herein, unless specifically stated otherwise, the term "or" includes all possible combinations unless impracticable. For example, if a component is stated to include A or B, the component may include "A or B" or "A and B" unless specifically stated otherwise or impracticable. As a second example, if a component is stated to include A, B, or C, the component may include "A or B or C" or "A and B, or A and C, or B and C, or A, B, and C" unless specifically stated otherwise or impracticable.
[0022] In the following description, various embodiments are provided for illustrative purposes. However, it should be understood that the present disclosure can be practiced without one or more of these details. Reference will now be made in detail to non-limiting examples of the present disclosure, examples of which are illustrated in the accompanying drawings. In the drawings, like reference numerals refer to like elements. Where like reference numerals are shown, corresponding descriptions will not be repeated and the interested reader is referred to the aforementioned figures for descriptions of like elements.
[0023] Various embodiments are described herein with reference to systems, methods, devices, or computer-readable media. One disclosure is intended to be a full disclosure. For example, it should be understood that the disclosure of a computer-readable medium described herein also constitutes a disclosure of methods implemented by the computer-readable medium, e.g., via at least one processor, as well as systems and devices for implementing those methods. It should be understood that this form of the disclosure is for ease of description only, and that one or more aspects of one embodiment herein can be combined with one or more aspects of other embodiments herein within the intended scope of the disclosure.
[0024] Consistent with the present disclosure, some implementations may involve a network. The network may comprise any combination or type of physical and / or wireless computer networking configuration used to exchange data. For example, the network may be the Internet, a private data network, a virtual private network using a public network, a Wi-Fi network, a mesh network, a local area network (LAN), a wide area network (WAN), and / or other suitable connections and combinations that may enable information exchange between various components of the system. In some implementations, the network may include one or more physical links used to exchange data, such as Ethernet, coaxial cable, twisted pair cable, optical fiber, or any other suitable physical medium for exchanging data. The network may also include a public wired network and / or a wireless cellular network. The network may be a secure network or an unsecured network. In other embodiments, one or more components of the system may communicate directly via a dedicated communications network. Direct communication may use any suitable technology, including, for example, BLUETOOTH®, BLUETOOTH LE® (BLE), Wi-Fi®, Near Field Communication (NFC), or other suitable communication method that provides a medium for exchanging data and / or information between separate entities.
[0025] In some implementations, machine learning algorithms may be trained using training data. Some non-limiting examples of such machine learning algorithms may include classification algorithms, data regression algorithms, image segmentation algorithms, visual detection algorithms (e.g., object detectors, face detectors, person detectors, motion detectors, edge detectors, etc.), visual recognition algorithms (e.g., face recognition, person recognition, object recognition, etc.), speech recognition algorithms, mathematical embedding algorithms, natural language processing algorithms, support vector machines, random forests, nearest neighbor algorithms, deep learning algorithms, artificial neural network algorithms, convolutional neural network algorithms, recurrent neural network algorithms, linear machine learning models, nonlinear machine learning models, ensemble algorithms, etc. For example, the trained machine learning may include inference models such as predictive models, classification models, regression models, clustering models, segmentation models, artificial neural networks (e.g., deep neural networks, convolutional neural networks, recurrent neural networks, etc.), random forests, support vector machines, etc. In some examples, the training examples may include example inputs along with desired outputs corresponding to the example inputs. Additionally, in some examples, training machine learning algorithms using training examples may generate trained machine learning algorithms, which may be used to estimate outputs for inputs not included in the training examples. In some examples, engineers, scientists, processes, and machines that train machine learning algorithms may further use validation examples and / or test examples.For example, the validation examples and / or test examples may include example inputs along with desired outputs corresponding to the example inputs, and the trained machine learning algorithm and / or the intermediately trained machine learning algorithm may be used to estimate outputs for the example inputs of the validation examples and / or test examples, and the estimated outputs may be compared with the corresponding desired outputs, and the trained machine learning algorithm and / or the intermediately trained machine learning algorithm may be evaluated based on the results of the comparison. In some examples, the machine learning algorithm may have parameters and hyperparameters, and the hyperparameters may be set manually by a person or automatically by a process external to the machine learning algorithm (such as a hyperparameter search algorithm), and the parameters of the machine learning algorithm are set by the machine learning algorithm according to the training examples. In some implementations, the hyperparameters are set according to the training examples and validation examples, and the parameters are set according to the training examples and the selected hyperparameters. The machine learning algorithm may be further retrained based on any outputs.
[0026] The disclosed embodiments may provide an interface or platform for users and / or devices to access Software as a Service (SAAS) products through an integrated technology-based solution with a common interface and / or a front-end graphical user interface. The disclosed embodiments may include a combination of service solutions and components. For example, some embodiments include (i) a produce service solution, (ii) a share service solution, and (iii) a multipurpose control and networking platform. The produce solution may provide infrastructure, methods, and workflows for determining cloud production and centralized production. In some embodiments, the produce solution may be implemented as a hub and spoke service solution. The share solution may provide services and systems (including one or more databases) for storing and distributing content. In some embodiments, the share solution may be implemented as a media bank service solution. The multipurpose control and networking platform (e.g., see 102 in FIG. 1 ) may exist as a standalone set of applications that can also function as part of a cloud platform infrastructure. In some embodiments, the multipurpose control and networking platform is a deployable package and service that serves as a functional platform for equipment state management. The multipurpose control and networking platform can also manage all configurations and functions.
[0027] FIG. 1 illustrates an exemplary system 101 according to an embodiment of the present disclosure. As illustrated in FIG. 1, the system 101 includes a computer-implemented multipurpose control and networking platform 102. The multipurpose control and networking platform 102 may include one or more computer-implemented services, such as service flows 106, configured to dynamically connect devices for secure communication. For example, the flows 106 may be configured to connect multiple network devices to a broadcast controller. The flows 106 may provide secure connectivity and redundancy for each connected device or node. Embodiments for providing such connectivity are further described herein with reference to other figures.
[0028] Other services may be provided by the multipurpose control and networking platform 102. For example, one or more software-defined networking services, such as link 104, may be provided. Link 104 may include software-defined networking functions and processes to provide complete control and isolation of device networks that reside locally in an event or operating environment and across the Internet. Exemplary embodiments of software-defined networking services are provided herein and consistent with this disclosure. Further examples of computer-implemented service solutions that may be provided or supported by the multipurpose control and networking platform 102 include services for managing and distributing content (e.g., video, audio, multimedia, etc.). For example, a share service solution (not shown in FIG. 1) may be provided to manage and distribute content and metadata associated with such content to end users. Such services may also support configurations and / or procedures affecting distributed content. As yet another example, a produce service solution (not shown in FIG. 1) may be provided to manage data centers, facilities, and / or telecommunications as part of a production. Such services may, for example, enable the interconnected operation of a program or other event that extends beyond a single location.
[0029] Referring again to FIG. 1 , the multipurpose control and networking platform 102 may be connected to one or more networks, such as the Internet 100. On such networks, one or more cloud-based services may be hosted (e.g., software as a service or “SaaS”). Through the Internet 100 and / or other networks, one or more users and / or devices (not shown in FIG. 1 ) may be connected to the computer-implemented multipurpose control and networking platform 102. As further shown in FIG. 1 , the multipurpose control and networking platform 102 may also be connected to one or more databases 108. The databases 108 may store and distribute content and applications for multiple connected network devices. In some embodiments, the databases 108 may comprise a media bank for storing digital assets or multimedia content. In some embodiments, the databases 108 comprise one or more of an image repository, a metadata store, a configuration store, and / or a scheduling database.
[0030] Embodiments of the present disclosure can dynamically connect devices for secure communications. As disclosed in the example of FIG. 1 , this can be accomplished through a computer-implemented service or solution, such as flow 106. Such services can dynamically connect devices for secure communications through endpoint input and output solutions, and all devices and / or users can connect through the solution. In some embodiments, each connection is managed, isolated, and redundant, and is so implemented by a software-defined networking service or solution. In some embodiments, devices and / or users may connect, but only authorized or assigned devices and / or users may have the ability to discover and communicate with each other. In some embodiments, a software-defined networking service (e.g., link 104) may provide a customized software-defined network. In the example of FIG. 1 , the software-defined networking solution 104 can enable the multipurpose control and networking platform 102 to function seamlessly and transparently to users or devices by dynamically adapting at least one of the service solutions or functions running on connected network devices. Further features, aspects, and embodiments related to the system and services 102, 104, 106 of FIG. 1 are provided below.
[0031] FIG. 2 illustrates another exemplary system 201 according to embodiments of the present disclosure. The exemplary system 201 of FIG. 2 may be implemented to provide a centralized production platform for digital media and / or entertainment services. It will be understood that other services and solutions may be provided with the system. Users (e.g., users 110, 120, 130, 140, and 150) may connect to a user interface 202. As illustrated in FIG. 2, a user may refer to a service user or support user associated with or managing the production environment and the connected devices and platforms therein. The user interface 202 may support one or more connections to a core platform 204 to access the methods and functionality of the disclosed embodiments. Additionally, one or more devices and / or data sources (160, 170) may be connected to the user interface 202 or the core platform 204. In some embodiments, the core platform 204 may be implemented as a gateway or interface through which users, devices, and / or data access and obtain services or solutions of the multipurpose control and networking platform 300. As illustrated in FIG. 2, users, network devices, and various data (eg, audio, video, and / or multimedia) can connect to the system through different entry points (eg, endpoints).
[0032] As further shown in FIG. 2 , system 200 may include (i) Produce 700, (ii) Share 800, and (iii) multipurpose control and networking platform 300. Produce 700 may provide a computer-implemented service solution, including infrastructure, methods, and workflows for supporting cloud production and / or centralized production. In some embodiments, Produce 700 may provide a hub and spoke service solution. Share 800 may provide a computer-implemented service solution using one or more databases (not shown) for storing and distributing content (e.g., video, audio, multimedia, etc.). In some embodiments, Share 800 is implemented as a media bank service solution. In some embodiments, multipurpose control and networking platform 300 may be implemented through a standalone set of applications (e.g., a standalone local cluster) or may function as part of a cloud platform infrastructure (e.g., a cloud-based cluster or service). In some embodiments, multipurpose control and networking platform 300 is a deployable package and service that serves as a functional platform for equipment state management. It also allows monitoring and control of all deployments, configurations, service solutions and features.
[0033] In some embodiments, platform 300 may include broadcast controller 400, flow 500, which provides services for dynamically connecting devices for secure communication, and link 600, which provides software-defined networking services or solutions. Broadcast controller 400, flow 500, and link 600 may all connect and communicate with each other and with other systems and applications. As shown in FIG. 2, platform 300 may also be connected to produce 700 and share 800, each of which has access to one or more networks, such as the Internet 100. Further embodiments of the present disclosure are described herein with reference to FIGS. 3-14.
[0034] The disclosed embodiments may provide a multipurpose control and networking platform (e.g., 102 in FIG. 1 and 300 in FIG. 2 ) and software capable of mixed-master / multi-master control of a single system or multiple systems. The multipurpose control and networking platform of the present disclosure may be implemented using at least one processor and executable software engine to configure, monitor, and control equipment and networked devices. Advantageously, it may enable technology-agnostic deployment of software solutions or functions from one integrated system or multiple integrated systems. For example, Internet Protocol (IP)-based mobile units (e.g., production trucks with technology hubs) may utilize the innovative and scalable platform of the multipurpose control and networking platform for various types of events. The multipurpose control and networking platform (e.g., 102 in FIG. 1 and 300 in FIG. 2 ) may be deployed in mixed scenarios. For example, the multipurpose control and networking platform may be deployed in a traditional manner in a fully on-site workflow (e.g., at a single location). In another example, the multipurpose control and networking platform may be deployed in a centralized production with local or remote components, ranging from mixed on-site and remote workflows, remote and distributed workflows, and virtualized workflows in a cloud environment. In the example of a virtualized workflow in a cloud environment, the multipurpose control and networking platform (e.g., 102 in FIG. 1 and 300 in FIG. 2) may provide distributed control using a software-based user interface. The multipurpose control and networking platform of the present disclosure may also be deployed in a range of facilities, including centralized production facilities, mobile units, remote locations, and / or flypack facilities.
[0035] A multipurpose control and networking platform (e.g., 102 in FIG. 1 and 300 in FIG. 2 ) can provide significant value to the facilities it connects to. For example, the multipurpose control and networking platform can operate as an integrated, feature-rich platform that brings all systems, equipment, networks, and cloud environments together. Through smart design and automation, the multipurpose control and networking platform streamlines workflows and removes complexity by automating, accelerating, and simplifying the configuration and management of equipment, functions, and devices. The multipurpose control and networking platform (e.g., 102 in FIG. 1 and 300 in FIG. 2 ) can also provide secure communications (e.g., via a control panel) through allocation or authentication methods that can control media flow and device orchestration. The multipurpose control and networking platform can also provide an intuitive and sophisticated user interface that enables independent control. The multipurpose control and networking platform of the present disclosure can also be technology-agnostic and connect to any common broadcast device, regardless of the device's manufacturer, model, baseband, or other capabilities or requirements.
[0036] Embodiments of the present disclosure can provide a single, easy-to-use touchpoint for configuring, provisioning, monitoring, and controlling equipment across facilities, functions, and devices. This allows multiple disparate systems to act as one unified platform, making highly complex setups seamless and simple. Examples of capabilities that can be deployed can include device configuration and control, IP routing, software-defined networking, system and network monitoring, rules-based audio and video alignment, resource scheduling and sharing, network and device security, infinitely scalable multiviewers, workflow automation, user management, and cloud production functionality.
[0037] The disclosed embodiments may be implemented in a wide range and number of production environments, hubs, and locations. A multi-purpose control and networking platform (e.g., 102 in FIG. 1 and 300 in FIG. 2 ) may be implemented in one or more production spaces (e.g., hubs or locations), with each hub and location acting independently or acting as one integrated system to provide high-quality, zero-delay or latency production and total creative control. The disclosed embodiments may provide the flexibility to connect independent technologies and services to meet production needs. Examples of production locations and spaces may include control rooms, edit suites, remote operator facilities, studios, virtual studios, green screen studios, and voice-over and commentator spaces. The disclosed embodiments may provide a suite of end-to-end solutions. Examples of end-to-end solution suites may include media bank media asset management, remote commentary, virtualized editing, graphics and augmented reality solutions, ingest, storage, localization, streaming, transmission, connectivity, logistics and project management, production services and crewing, and other creative services.
[0038] The disclosed embodiments may provide a multi-purpose control and networking platform (e.g., 102 in FIG. 1 and 300 in FIG. 2) that enables easy, rapid, technology-agnostic deployment, configuration, and monitoring of software solutions or functions. For example, a proprietary multi-purpose control and networking platform may provide a full range of end-to-end solutions deployed via technology hubs, connected broadcast devices, networking devices, or nodes.
[0039] The disclosed embodiments provide a computer-implemented service solution for dynamically connecting network devices for secure communications (e.g., flow 106 in FIG. 1 and flow 500 in FIG. 2). The disclosed embodiments can dynamically connect devices for secure communications through endpoint input and output solutions, and all devices and / or users can connect through the endpoint input and output solutions. Each connection can be managed, isolated, and redundant, and is enforced as such by a defined networking solution. Devices and / or users can connect, but only those devices and / or users that are assigned to have the ability to discover and communicate with each other. Assigning may refer to registering, authorizing, authenticating, or otherwise meeting threshold parameters or conditions to validate connected devices or their users. Each site deployment may include at least one primary node and at least one secondary node. Examples of event networks may be a live event network, a broadcast network, a streaming network, or a recording network. Other types of nodes or additional nodes may be used as well. Other examples of nodes may include a second primary node, multiple primary nodes, additional secondary nodes, and a throwdown node. At least one primary node can enable an event network by connecting to a broadcast controller and at least one other node or broadcast device. Various nodes or node types can be deployed to capture signals across one or more sites with broadcast devices and transmit the captured signals from the broadcast devices to connected broadcast controllers, other technology hubs, or general-purpose networking and control platforms (e.g., 102 in FIG. 1 and 300 in FIG. 2). Nodes can be connected within each site or across multiple sites to further connect network devices at each site with broadcast controllers, other technology hubs, or platforms.Examples of node connections within each site include connections utilizing mesh networking technology. Mesh networking technology or other node networking technologies may be implemented using connections that provide redundant red and blue paths for broadcast and other services. Nodes from multiple sites may also be connected via point-to-point networking and operate as a single integrated system. Alternatively, nodes from multiple locations may not be connected and may operate independently. The disclosed embodiments may scale up and down based on, for example, the nodes and networking devices implemented to handle as many data signals, broadcast devices, and sites as needed. The disclosed embodiments may provide powerful, easy-to-use digital content management software that controls all data, intercom, and video and audio signals within the integrated event network.
[0040] The disclosed embodiments can provide an endpoint system that uses both dedicated hardware / software and commercially available, off-the-shelf hardware / software. The disclosed embodiments can act as a gateway for devices and / or user interfaces. Devices dynamically connected by the disclosed embodiments can operate as inputs, outputs, or both simultaneously. By dynamically connecting devices for secure communications (e.g., via flow 106 of FIG. 1 or flow 500 of FIG. 2), the disclosed embodiments can provide security and authentication by assigning connected devices as valid endpoint devices and registering a unique identifier for each valid endpoint device. Dedicated endpoint devices can be automatically identified, assigned, and function within the disclosed embodiments. Non-dedicated endpoint devices can be registered manually and / or automatically by unique identifier or by assigning non-dedicated endpoint devices. Because the system is technology-agnostic, all valid devices can be seamlessly registered and assigned without requiring various scripts or updates associated with different technologies to enable them to be used together. Endpoint devices function within the disclosed embodiments as specified, and any interruption of signals between the endpoint device and the multipurpose control and networking platform can be recognized or reported by the disclosed embodiments. Additionally, interrupted endpoint device signals may be automatically rerouted to prevent network disruptions for the disclosed embodiments and / or other endpoint devices. The disclosed embodiments may also identify and reroute intrusions into the network external to the assigned endpoint device. These identified intrusions may also be reported to a user or administrator. The disclosed embodiments may prevent intrusions from affecting and / or impairing the user experience.An endpoint device may connect to the multipurpose control and networking platform via a single connection, or via multiple redundant connections if multiple connections exist on the endpoint device.
[0041] The disclosed embodiments may provide a software-defined networking service solution. The software-defined networking service solution (e.g., link 104 of FIG. 1 and link 600 of FIG. 2) may be computer-implemented and provide a customized software-defined networking solution. The software-defined networking solution may enable a multipurpose control and networking platform to function seamlessly and transparently to users and / or devices. In some embodiments, the software-defined networking solution may consist of functions and processes that allow complete control and isolation of device networks that exist simultaneously locally and across the Internet 100.
[0042] By way of example, the disclosed software-defined networking solution may provide discovery services, instantiation services, auto-adjustment services, and reporting services. The disclosed embodiments may constantly monitor and / or scan the connections of connected devices. The disclosed embodiments may recognize when new devices are added, when existing devices are added, and when existing devices are removed. Additionally, the disclosed embodiments may automatically adjust connections to reflect added or removed devices as changes occur. Once connected, a device is assigned to one or more systems or services of the disclosed embodiments. If a device is not previously assigned, it remains isolated in an active queue pool for as long as the device is connected or until the device is properly authenticated, and preparations are made for placing the device in the active role. Each device may be associated with a tag, resource assignment information, and / or resource assignment definition. Examples of resource assignment information or definitions may include a configuration state, an address, a usage definition, a configuration profile, a feature preset, and an active role. The tag or resource assignment information or definition may be used to determine the device's location, network address, level of security, and other capabilities or attributes associated with the device. In some embodiments, a software-defined networking solution (e.g., link 104 of FIG. 1 and link 600 of FIG. 2) may be deployed as multiple instances operating across multiple linked networks or servers. Alternatively, a software-defined networking solution may operate standalone as a single instance on a network. When multiple instances of a software-defined networking solution are deployed within a network infrastructure, the solutions may track and report on each other to provide both redundancy and load balancing.
[0043] Embodiments of the present disclosure include computer-implemented systems and methods for a multipurpose control and networking platform. In some embodiments, a system is provided that includes multiple network devices. The network devices may include broadcast devices, networking devices, and / or any combination thereof. Broadcast devices include equipment, apparatus, and systems configured to capture, store, convert, or transmit audio, video, and / or other data (e.g., metadata) signals. Such signals may be transmitted to a wide audience or at least to multiple recipients simultaneously via a broadcast controller. Broadcast devices may include television broadcast devices (e.g., television transmitters or cameras), radio broadcast devices (e.g., radio transmitters or microphones), Internet broadcast devices (e.g., webcams, video cameras, or software encoders transmitting content captured by webcams, video cameras, or other end devices that capture data), and / or data broadcast devices (e.g., devices used to transmit updates or network information to end devices). Networking devices include equipment, devices, and systems configured to facilitate secure communication and the exchange of data or signals between multiple network devices. Such networking devices may comprise any suitable combination of hardware, software, and / or mixed hardware-software components. In some embodiments, the networking devices may support communications and exchange of data or signals between the network devices and other devices or systems, such as broadcast controllers and general-purpose control and networking platforms. In some embodiments, the networking devices may establish and maintain network connections, enable data transfer, and / or ensure efficient operation of the disclosed systems.Examples of networking devices include routers, switches, hubs, access points, modems, firewalls, load balancers, gateways, network bridges, and proxy servers. In some embodiments, broadcasting devices and networking devices may be implemented as on-site devices and / or remote devices. On-site devices include devices that are physically located at a particular physical location or site. Remote devices include devices that are hosted or operated at a location remote or separate from a particular physical location or site. In some embodiments, remote devices are located in a centralized data center or resource pool.
[0044] The plurality of network devices may be dynamically connected for secure communication with at least one processor (e.g., at least one processor of 102, 104, or 106 in FIG. 1 or at least one processor of 300 in FIG. 2). The at least one processor may be configured to configure at least one of a service solution or function. In some disclosed embodiments, the service solution may comprise at least one of a software-enabled networking solution, centralized production, cloud production, live production, broadcast production, or live streaming event. In some disclosed embodiments, the function may comprise at least one of device configuration, device control, IP routing, system and network monitoring, rule-based audio and video alignment, resource scheduling, resource sharing, network and device security, scaling, workflow automation, user management, or cloud production functionality. The at least one processor may also be configured to deploy at least one of the service solutions or functions among the plurality of network devices using one or more standalone local clusters for the plurality of network devices. A cluster may refer to a group of interconnected or coordinated container instances that work together to provide a particular service, function, or application. The cluster may be managed by a container orchestration platform connected to or embedded within a general-purpose control and networking platform (e.g., 102 in FIG. 1 and 300 in FIG. 2). A local cluster includes a cluster created and running on or in an environment associated with a single machine (e.g., a single network device), as opposed to, for example, a cloud-based cluster that may span multiple machines or nodes. A standalone local cluster includes a local cluster that operates independently and does not interact with or rely on other clusters or systems.A standalone cluster may be self-contained and may serve a particular purpose or application without requiring external coordination or communication (e.g., coordination or communication via a multipurpose control and networking platform). In some embodiments, one or more standalone local clusters may be configured to operate without relying on external data sources, servers, or applications, for example, in the absence of internet connectivity to other clusters or to a multipurpose control and networking platform (e.g., 102 in FIG. 1 and 300 in FIG. 2).
[0045] At least one processor (e.g., at least one processor of 102, 104, or 106 in FIG. 1 or at least one processor of 300 in FIG. 2) may also be configured to monitor and control the deployment of at least one of the service solutions or features. In some embodiments, the monitoring by the at least one processor may include collecting data during the deployment of the at least one service solution or feature. The collected data may include information associated with the deployment or network device, such as performance metrics, log information, configuration data, connected device data, associated tag information, metadata, or other data reflecting the state, operation, configuration, or history of the deployment or network device. The monitoring may further include processing the collected data to determine a current status of the deployment or network device, a previous status of the deployment or network device, or a predicted future status of the deployment or network device, and generating an alert based on any abnormally determined status. By monitoring each deployment or device, a user or administrator may gain insight into the performance of the deployment or device, detect problems and errors before they become critical, and take proactive measures to optimize the operation of the deployment or device. A monitoring infrastructure may be a collection of tools and components that work together to collect, store, process, and visualize metrics and other data from a container environment. Monitoring may provide a way to assess the health and performance of each deployment or device, including the services, functions, and applications that run on it. For example, by analyzing metrics and logs generated by a deployment or device, the monitoring infrastructure can help identify trends, track changes, and diagnose problems. The monitoring infrastructure can also be used to help identify and address performance and availability issues in a timely manner, minimize downtime, and prevent outages. It can also provide valuable insights into the usage patterns and behavior of a container environment, which can help optimize resource allocation, capacity planning, and scaling.
[0046] In some embodiments, determining the status or generating an alert may direct at least one processor to control deployment. In some embodiments, controlling deployment may include associating endpoints with network devices from a centralized resource pool based on one or more productions and separating (e.g., isolating) endpoints or network devices based on one or more productions. Controlling deployment may also include rearranging connections between network devices in response to detecting a new connected device, a removed device, or a failed network component to maintain proper data flow between end devices (e.g., cameras and users viewing the broadcast) by making any necessary changes to the cluster based on the detection. A centralized resource pool may refer to a collection or grouping of available and allocated broadcast devices, networking devices, or other computing resources, such as processors, memory, storage, or network bandwidth, that are aggregated and made available for allocation to various applications, clusters, services, or functions. An endpoint may refer to a single resource available within the centralized resource pool.
[0047] In some embodiments, at least one processor (e.g., at least one processor of 102, 104, or 106 in FIG. 1 or at least one processor of 300 in FIG. 2) may be further configured to automate, based on a schedule, routing paths for at least one of a service solution or function between multiple network devices, endpoints from a centralized resource pool, and a multipurpose control and networking platform. A routing path may refer to a sequence of nodes or other connections that a data packet follows when traveling in a network from a source (e.g., a network broadcast device or a user device) to a destination (e.g., a multipurpose control and networking platform or another user device). For example, a routing path may include a broadcast device, one or more networking devices, one or more nodes, a multipurpose control and networking platform (e.g., 102 in FIG. 1 and 300 in FIG. 2), and the connections therebetween. Additional (e.g., redundant) routing paths may include the same components but have different networking devices or nodes. The scheduling component of the multipurpose control and networking platform may enable services or functions to be configured or removed at specific times, for example, based on a production environment schedule. For example, the scheduling component may have access to the production environment schedule over a period of time, and based on the schedule, the scheduler component may delegate specific devices or connections for deployment. The scheduling component may further enable an authorized user or administrator to approve the scheduled configuration or removal before the process is executed. The scheduling component can further automate routing, rerouting, and service preparation based on a calendar of events related to one or more production environments. The calendar may be synchronized with additional production scheduling systems or applications.The scheduling component may also be used to generate reminders or alerts or plan actions for future periods based on a calendar or a sequence of planned events.
[0048] In some embodiments, a cloud-based cluster or multiple cloud-based clusters may be connected to a standalone local cluster via a secure connection and at least one application programming interface or API. The cloud-based cluster may include a cluster of interconnected computing resources and services (e.g., container instances) hosted in a cloud computing environment. The cloud-based cluster may be configured to recognize all available and configurable service solutions and features, as well as which versions exist or updates are available. As a result, a multi-purpose control and networking platform (e.g., 102 in FIG. 1 and 300 in FIG. 2) may comprise a multi-pronged service including a centralized cloud-based component (e.g., a cloud-based cluster) and local components (e.g., local clusters) associated with each network device. Each local component may be associated with multiple network devices, nodes, mobile units, or technology hubs. Additionally or alternatively, each local component may be allocated, installed, configured, or updated based on information received from the cloud-based component. In some embodiments, each local component may also function as a standalone local cluster (e.g., after allocation, installation, configuration, or updates have been performed). As a result, a user may, for example, via a user interface associated with the local cluster, start, pause, stop, or restart connected network devices or local components, in whole or in part, based on a user-desired service or function or service or function based on a production schedule (e.g., device-specific, data flow, routing, category-based, tag-based, multi-viewer, production-based, state-based, resource-based, or driver-based service or function), and the local components can operate without requiring further information or resources from the cloud-based components.Thus, the local component may provide reliable and rapid startup and shutdown procedures for technology hubs or devices, particularly those that may be mobile and thereby need to operate without a continuous live connection to the cloud-based component or dependencies on other services, databases, or connections. The cloud-based component may further be connected to a repository (e.g., a code repository) that the cloud-based component scans (continuously or periodically) to identify new versions or updates to the service or feature as input to the repository by the service or feature's developer. The repository may store source code and programming for a multipurpose control and networking platform that may be maintained and consistently updated by an active development team. Furthermore, the cloud-based component may expose any identified updates or new configuration data via at least one application programming interface (API). By connecting to at least one API, the local cluster can receive updates or new configuration data when connectivity with the cloud-based component is (re)established and redeploy the service or feature with the updated or new configuration. As a result, installing new services or features on the local cluster or updating the service or feature may be facilitated via the cloud-based component and at least one API. Another advantage provided by one or more standalone local clusters is that configurations associated with a particular network device or user may be stored in the corresponding standalone local cluster, such that the device or tech hub is not reset as a result of a shutdown (e.g., planned or unplanned), and upon restart, the components of the device or tech hub can restart in the proper order without requiring additional or repeated input.For example, the local cluster may have a predetermined procedure for startup and shutdown, and containers embodying microservices associated with devices or components of the tech hub are scaled up or down in the correct order to match the installation and configuration data (including any updates) stored on the local cluster. As a result, the local cluster may enable clean and seamless startup and shutdown procedures for any devices, services, or functions associated with the local cluster, on-demand or in response to an unexpectedly failed device or component, all without requiring connectivity with a cloud-based cluster or other external source or application.
[0049] In some embodiments, monitoring and controlling the deployment may include at least one of receiving data from the cloud-based cluster and transmitting the received data to one or more standalone local clusters. The one or more standalone clusters can then act on the received data to deploy new services or functions or update running services or functions. In some embodiments, monitoring and controlling the deployment may include receiving other data from the one or more standalone local clusters and transmitting the other received data to the cloud-based cluster. Thus, the cloud-based cluster can receive, store, and process data from the standalone clusters for further monitoring and control purposes. In some embodiments, the cloud-based cluster or the local cluster may include multiple master and multiple worker nodes. In the event of a failure of any given node, the cluster can automatically resolve the failure by redistributing affected containers to other functioning nodes or networking devices. The cluster may also include containers based on microservices. A microservices architecture enables further fault tolerance by running individual components as independent microservice instances, so that if one microservice instance fails, another microservice instance can quickly and automatically replace the failed instance, so that the cluster remains operational without interruption. Additionally, multiple instances of a service or function may run simultaneously on the cluster, allowing, for example, request processing to be load balanced and distributed across multiple nodes of multiple instances, further increasing the availability and efficiency of the cluster's resources.
[0050] FIG. 3 is a diagram of an exemplary computer-implemented system 301 having a cloud-based cluster implementation, according to disclosed embodiments. System 301 may include a configuration interface 302 and a deployment agent 304. Configuration interface 302 may be connected to an image repository 306, a metadata and configuration store 308, and deployment agent 304. Image repository 306 may store various templates (e.g., machine images) corresponding to various operating systems or computing systems compatible with or that may be utilized by various devices or resources in a production network. Deployment agent 304 may be configured to deploy service solutions or features, configure deployment, prepare deployment, and monitor deployment. Deployment agent 304 may be further connected to a scheduler 310. Scheduler 310 may be configured to store and provide event scheduling information or event runtime information to deployment agent 304. Scheduler 310 may be further connected to image repository 306, which may be configured to provide access to scheduler 310 so that scheduler 310 can retrieve images from image repository 306. Configuration interface 302 may be configured to receive configuration and update information from support users 312 (e.g., a user connected via controller interface 302 may administratively configure a service or approve updates to a deployed service or feature), access image data stored in image repository 306, or access metadata or configurations stored in metadata and configuration store 308. Thus, configuration interface 302 may enable communication between support users 312 and image repository 306 or metadata and configuration store 308. For example, configuration interface 302 may enable selection and pulling of machine images stored in image repository 306, selection and pulling of metadata or configurations associated with the selected machine image and stored in metadata and configuration store 308, and requesting deployment or updates of at least one of the service solutions or features via deployment agent 304.The deployment agent 304 may be configured to receive input from a service user 314 (e.g., a user of a deployed service or feature or a user of a connected device), receive service state information or status updates from the scheduler 310, receive metadata, configuration data, or image data via the configuration interface 302, or forward status updates from the scheduler 310 to the configuration interface 302. Thus, the deployment agent 304 may enable communication between the service user 314, the configuration interface 302, and the scheduler 310. For example, the deployment agent 304 may enable deployment (or deployment updates) of at least one of the service solutions or features based on input received from the service user 314. The deployment may be configured and prepared based on, for example, image data from the image repository 306 pulled by the scheduler 310, metadata or configuration data from the metadata and configuration store 308 pulled by the configuration interface 302, or scheduling information from the scheduler 310 pulled by the deployment agent 304. In some embodiments, the deployment agent 304 may not be a component of a cloud-based cluster, but may be deployed as at least part of a stand-alone local cluster associated with one or more connected network devices or at least one deployed service solution or function.
[0051] 4 is a diagram of an exemplary operating environment including a computer-implemented system 401 having a cloud-based cluster 402 and a standalone local cluster 404. The cloud-based cluster 402 may include container instances 420, 422, 424 with microservices for configuring a service solution or function, deploying at least one service solution or function, monitoring at least one service solution or function, and controlling at least one service solution or function. The standalone local cluster 404 may include container instances 410, 412, 414 with microservices related to operating a set of connected devices 406 or deploying at least one of the service solutions or functions, where the container instances are configured based on the specific needs of any detected connected devices 406. If connectivity exists between the cloud-based cluster 402 and the standalone local cluster 404, the cloud-based cluster 402 can push new information (e.g., configuration data, metadata, updates, scheduling data) to the standalone local cluster 404 (e.g., via at least one API). Based on the received new information, the standalone local cluster 404 may be modified to implement the new information, for example, by adding, removing, scaling, or otherwise modifying container instances 410, 412, 414 therein. The standalone local cluster 404 may also be connected to multiple network devices 406 (e.g., broadcast devices or networking devices) that form a production network at or across a particular site. The standalone local cluster 404 may also include device drivers 460 for any number of potentially connected devices, thus allowing the local cluster 402 to be technology agnostic with respect to the types or requirements of the connected devices 406.The plurality of network devices 406 may then be monitored and controlled based on information received (e.g., at least periodically) from the cloud-based cluster 402 via the standalone local cluster 404. However, the standalone local cluster 404 may also operate independently of the cloud-based cluster 402 and without relying on the container instances 420, 422, 424 of the cloud-based cluster 402, for example, during its monitoring or control of the plurality of network devices 406. A user 450 may connect to the cloud-based cluster 402 via a user interface 430 and to the local cluster 404 via a user interface 440.
[0052] In some disclosed embodiments, deployment or monitoring and control of deployments among multiple network devices may be technology-independent with respect to the type or capabilities of each network device or each resource utilized in association with each network device. Technology independence refers to flexibility, adaptability, or compatibility with various technologies and solutions from various vendors or providers (e.g., not dependent on or biased toward any particular technology, platform, programming language, hardware, or software). Independence may also refer to the absence of any requirements of a particular system, provider, developer, or platform for purposes of compatibility or functionality. Thus, technology independence may enable the development of reusable logic parts or components that can be used across different types of applications. For example, many components of a technologically unrelated framework may be reused without requiring changes across different underlying provider frameworks and across different types of applications, services, or functions (e.g., HTTP server frameworks, microservices with different transport layers, or WebSockets). An exemplary system consistent with embodiments of the present disclosure may be flexible and independent with respect to compatible providers, tools, and platforms. With such flexibility, users or administrators do not have to adapt their devices, services, features, or programming to be compatible with a single software provider, switch provider, framework, or platform. Instead, users or administrators may connect, configure, or assign their connected devices as needed (e.g., connecting to a broadcast controller or a multipurpose control and networking platform) based, for example, on general requirements and conditions rather than the requirements of each specific service solution or feature. Thus, the system can enable broadcast productions that implement various software components or requirements without requiring multiple frameworks or multiple scripts based on incompatible components.
[0053] In some embodiments, the at least one processor may be further configured to provide configuration or control data via at least one application programming interface (API). Configuration data may refer to a set of parameters, settings, or variables that define the behavior, characteristics, and properties of a system, software application, service, function, or device. Control data may refer to data or instructions that direct the operation, management, or control of a system, application, service, function, or process. Providing the configuration or control data may include releasing the data via the at least one API to one or more endpoints or devices that may access the data via the at least one API. In some embodiments, the data may be released through multiple APIs, each API corresponding to a particular service solution or function. In some embodiments, the at least one processor may continuously provide the configuration or control data via the at least one API so that newly connected network devices can be immediately configured upon identification by receiving and capturing the released configuration or control data via the at least one API. As another example, the at least one processor may provide configuration or control data periodically (e.g., once every 30 seconds, once every minute, once every half hour, etc.), so that a newly connected network device may be configured immediately after identification by receiving the configuration or control data emitted via the at least one API during the period for which it is provided, but without wasting resources utilized by the at least one processor when emitting the configuration or control data.
[0054] In some embodiments, the at least one processor may be further configured to generate a visualization via a user interface, the visualization showing status or parameters associated with the plurality of network devices. The generated visualization may assist a producer, technician, or other user in monitoring the plurality of network devices, identifying faulty equipment, or making corrections to one or more network devices or connections therebetween.
[0055] FIG. 7 illustrates an exemplary graphical user interface 701 that may be provided for a multipurpose control and networking platform according to disclosed embodiments. Graphical user interface 701 may be generated and implemented, for example, via 102 of FIG. 1 or via 300 of FIG. 2. Furthermore, graphical user interface 701 may be made accessible via a network, for example, via Internet 100 of FIG. 1 and / or user interface 202 of FIG. 2. Graphical user interface 701 may be accessed, for example, by users 110, 120, 130, 140, 150, 160 of FIG. 2. Thus, users may be able to provide input to trigger dynamic adaptation of service solutions or functionality provided, for example, via at least one processor at 102, 104, or 106 of FIG. 1 or at least one processor at 300 of FIG. 2. The graphical user interface 700 may include a grouped list of outputs 702 and inputs 704 associated with connected network devices (e.g., cameras, microphones, tech hubs, screen feeds, networking devices, or other resources) or deployments allocated or installed within the production environment. The graphical user interface 700 may also include selectable action icons 706 for each input 704 or output 702 associated with the connected network devices or deployments. The selectable action icons 706 may enable a user to select a particular modification the user wants to make to any of the listed connected network devices. For example, the user may want to do one or more of: edit the listed data, configure or reconfigure the deployment or connected device, or view additional information about the deployment or device.The graphical user interface 700 may further group or identify different device types (e.g., TD, SEC) or node types 708 associated with each connected device (e.g., based on a color or pattern scheme associated with each input 704 or output 702). Parameters 710 associated with a selected one of the inputs 704 or outputs 702 may also be displayed. Thus, the graphical user interface 700 may provide the user with both a complete visualization of the production network and control of individual or grouped deployments or devices from a single, unified, software-based interface.
[0056] In some embodiments, at least one processor (e.g., at least one processor of 102, 104, or 106 in FIG. 1 or at least one processor of 300 in FIG. 2) may be further configured to enable distributed control of the deployment through (e.g., using) a software-based user interface (e.g., a graphical user interface as described herein). Distributed control may refer to having authority, responsibility, or decision-making power distributed across various levels, entities, or user devices within a system (e.g., using a software-based user interface) rather than centralizing authority, responsibility, or decision-making power at a central authority or single control point. A software-based user interface may refer to a graphical user interface or another graphical or visual representation of a software application or system (e.g., at least one of a service solution or function associated with at least one network device) that allows a user to interact with and control the software application or system. A software-based user interface may encompass various elements, layouts, or controls within the software that allow a user to enter commands, access functionality, view data, or receive feedback. Based on input received from user interaction with the software-based user interface, the at least one processor may, for example, dynamically adapt a service solution or feature or control the deployment of a service solution or feature.
[0057] According to another embodiment of the present disclosure, a method for implementing a multipurpose control and networking platform is provided. Steps embodied in the method may be executed by at least one processor of system 101 of FIG. 1 or system 201 of FIG. 2 as described herein. Referring to FIG. 12, a flowchart of an exemplary method for implementing a multipurpose control and networking platform is shown. As shown in FIG. 12, the method may begin at step 1210 with dynamically connecting multiple network devices for secure communication. As described, the network devices may include broadcast devices configured to transmit at least one of an audio signal, a video signal, or a data signal. At step 1220, the method 1200 may further include configuring at least one of a service solution or function. At step 1230, the method 1200 may include deploying at least one of the service solutions or functions among the multiple network devices using one or more standalone local clusters for the multiple network devices. At step 1240, the method 1200 may include monitoring and controlling the deployment of at least one of the service solutions or functions.
[0058] According to yet another embodiment of the present disclosure, a non-transitory computer-readable medium includes instructions that, when executed by at least one processor, cause the at least one processor to perform operations for implementing a multi-purpose control and networking platform. Steps embodied in the instructions of the non-transitory computer-readable medium may be executed by at least one processor of system 101 of FIG. 1 or system 201 of FIG. 2 as described herein. These steps may be similar to those described above with reference to the exemplary method of FIG. 12. Accordingly, the steps may be configured to dynamically connect a plurality of network devices comprising a broadcast device that transmits at least one of an audio signal, a video signal, or a data signal for secure communication. The steps may further be configured to configure at least one of a service solution and a function. The steps may also be configured to deploy at least one of the service solution and a function among the plurality of network devices using one or more standalone local clusters for the plurality of network devices. Furthermore, the steps may be configured to monitor and control the deployment of at least one of the service solution and a function.
[0059] Embodiments of the present disclosure further include computer-implemented systems and methods for dynamically connecting multiple devices for secure communication 106. In some embodiments, a system including multiple devices configured for secure communication is provided. In some embodiments, the system may include at least one primary node communicatively connected to at least one secondary node. The primary node may refer to a master node including a server (e.g., for connecting to a multipurpose control and networking platform), at least one network switch (e.g., for connecting to network devices or other nodes), and a gateway device (e.g., in ST2110, converting signals received from network devices or other nodes to baseband audio and video signals). In some embodiments, the at least one primary node may be configured to connect multiple network devices to a broadcast controller. For example, the at least one network switch of the primary node may enable transmission of signals (e.g., captured audio or video data) from connected devices to the primary node as well as signals or data from the broadcast controller, the gateway device of the primary node may convert the received signals to baseband, and the server or gateway device may transmit the converted signals to the broadcast controller. The server of the primary node may also transmit the converted signal to a multipurpose control and networking platform for further processing or control instructions based on the transmitted signal.A broadcast controller may refer to hardware, software, or combined hardware-software components or applications responsible for the distribution or transmission of broadcast content, such as television, radio, or live streaming, to a wide audience (or at least multiple recipients).The broadcast controller can be integrated with the multipurpose control and networking platform (e.g., 102 in FIG. 1 or 300 in FIG. 2) either internally or externally to operate with the platform (e.g., an external software-driven broadcast controller). The broadcast controller may also be responsible for detecting, identifying, allocating, configuring, preparing, or reporting connected network devices (e.g., broadcast devices, networking devices, or other devices used for production or by the production network). The broadcast controller may further be responsible for collecting resource allocation information from the connected network devices and sharing the collected information with the multipurpose control and networking platform (e.g., 102 in FIG. 1 or 300 in FIG. 2). The broadcast controller may also be configured to receive broadcast content from a node or from at least one component of the multipurpose control and networking platform. The broadcast content may include video data, audio data, or metadata. Furthermore, the broadcast controller can distribute the received broadcast content over a unicast or multicast network. The broadcast controller can, for example, ensure that broadcast content is delivered reliably, efficiently, or according to a predetermined schedule, simultaneously, and without interruption to a wide audience (or at least multiple recipients). In some embodiments, the broadcast controller can be connected to a multipurpose control and networking platform or to one or more user devices. In some embodiments, the broadcast controller can be embedded within a multipurpose control and networking platform.
[0060] A secondary node may refer to a node that is controlled via the server of the connected primary node. A secondary node may be installed with at least one network switch (e.g., for connecting to one or more network devices) and a gateway (e.g., for signal conversion), but without a server. Thus, a secondary node may connect network devices to a multipurpose control and networking platform or broadcast controller via the primary node.
[0061] In some embodiments, the at least one secondary node may be configured to connect at least a first device of the plurality of network devices to the at least one primary node. The system may also include at least one processor. The at least one processor may be configured to connect the at least first device for secure communication with the broadcast controller using the at least one primary node and the at least one secondary node. The connection between the first device and the broadcast controller may include the at least one primary node and the at least one secondary node. In some embodiments, the at least one primary node and the at least one secondary node can enable an event network. The at least one processor may be configured to manage secure communications with the broadcast controller (e.g., secure communications between the broadcast controller and the plurality of network devices). Managing may refer to overseeing or controlling various elements or aspects of a secure communications system or network to ensure that information is transmitted and received in a secure and protected manner. Managing may also refer to dynamically adapting (as described and illustrated elsewhere herein).
[0062] The at least one processor may be further configured to assign an allocation indicator to the connection when the connection between at least a first device and the broadcast controller meets a predetermined allocation threshold. Examples of allocation indicators may include active, inactive, isolated, authenticated, new, expired, reported, and not reported. Examples of assigning an allocation indicator may include when the system evaluates the device type and its capabilities or when the system polls the device and receives a response; further, the system recognizes that the device (i) is prepared to enter an associated operational mode based on a determination that certain parameters of the device meet or exceed one or more thresholds required for operation, or (ii) is available for the system to be deployed for use for the allocated service function, feature, or other capability based on a determination that, for example, authentication data provided by the device or its user matches one or more values known to the at least one processor. Examples of predetermined allocation thresholds may include thresholds or data values that, when matched or exceeded, indicate that the connection is enabled, established, stable, healthy, or otherwise fully or completely connected, or that a user or device has matched a user or device identifier. Other examples of predetermined allocation thresholds may include thresholds or data values that, when met or exceeded, indicate that a user or device is identified by the system's network, or that a device is connected and recognizes the system, or that the system is aware of the state of the device and its capabilities. Still further examples of allocation thresholds or data values may be thresholds for values related to network health, connection stability, acceptable packet loss values, full connectivity, authentication or authorization data, or device identifier data. In some embodiments, the at least one processor may be further configured to securely connect at least a first device of the plurality of network devices to the broadcast controller based on the allocation indicator.In some embodiments, the at least one primary node, the at least one secondary node, the at least first device, and the assignment indicator enable a secure production network. In some embodiments, the at least one primary node and the at least one secondary node can capture signals between the at least first device and the broadcast controller. In some embodiments, the first device may be located at a first location. In some embodiments, the at least one secondary node can also be located at the first location, and the at least one primary node can be located either at the first location or at a location remote from the first location. In some embodiments, the at least one processor can be configured to deploy at least one additional secondary node at a second location remote from the first location, and the at least one additional secondary node can be configured to connect at least a second device of the plurality of network devices to the broadcast controller using the at least one primary node, the second device being located at the second location. In some embodiments, at least one of the primary node, the secondary node, and the additional secondary node can be connected within or across the main location via at least one of wired or wireless communication technologies. In some embodiments, the at least one processor may be configured to scale up or down the system by connecting or disconnecting one or more of the plurality of network devices. In some embodiments, the at least one processor may be configured to scale up or down the system by connecting or disconnecting one or more of resources, routing paths, services, functions, or ranges of services. In some embodiments, the at least one secondary node may be connected to a server of the at least one primary node. Further, the at least one processor may be configured to control the at least one secondary node via the server.In some embodiments, the system may include a throwdown node. A throwdown node may refer to a node that is smaller than a secondary node (e.g., a node that includes a gateway but does not include a network switch or server) and is connected to the secondary node. A throwdown node may be utilized where a network device is installed, but where space is limited or where the need for continuous or long-term transmission of signals is low. In some embodiments, a throwdown node may operate in the absence of an internal server or switch, and thus the throwdown node may be smaller in size than a primary node or a secondary node. The throwdown node may be connected to a switch of at least one secondary node to which it is connected. In some embodiments, at least one processor may be configured to control the throwdown node, and thereby control connected network devices, via at least one of the switch of the at least one secondary node or the server of the primary node to which the secondary node is connected.
[0063] In some embodiments, the at least one processor may be further configured to provide a user interface including the controls and a displayed visualization including at least a first device securely communicating with the broadcast controller. The at least one processor may be further configured to receive user input for at least one of the controls via the user interface and modify the management of the secure communications based on the user input. In some embodiments, modifying the management of the secure communications may include converting at least one secondary node to a second primary node and deploying a server for the second primary node. Once a server is deployed for the secondary node, the secondary node may function as a primary node because it acquires its own server and no longer relies on the server of the connected primary node for control or to connect to the multipurpose control and networking platform or broadcast controller. Thus, the converted secondary node (or second primary node) may function as a second master node. This functionality enables mixed-master / multi-master configurations, which are particularly beneficial in large-scale production environments spanning multiple locations (e.g., multiple venues) or a large single location (e.g., a large venue with multiple connected devices or stages). Modifying the management of secure communications may also include converting at least one slowdown node to a secondary node (e.g., by deploying a switch for the slowdown node), converting a primary node to a secondary node or a slowdown node (e.g., by deleting a server and / or switch associated with the primary node), deploying additional nodes, or removing, relocating, or isolating existing nodes.
[0064] FIG. 5 shows a diagram of an exemplary production environment including a computer-implemented system 501 for an event spanning multiple venues. System 501 may include a primary node 502 connected to secondary nodes 504, 506. Primary node 502 may be further connected to technology hubs 508, 510 (e.g., production trucks or mobile units) and a broadcast controller 550. Secondary nodes 504, 506 may correspond to different venues, where the different venues are associated with the same sporting event. Secondary node 504 may be further connected to technology hubs 512, 514 located at a first venue, a broadcast studio 520 located at the first venue, and multiple network devices 522, 524, 526 located at the first venue. Secondary node 504 may also be connected via throwdown nodes 516, 518 to additional network devices 528, 530 located at the first venue. Secondary node 506 may be further connected to another multiple network devices 532 located at a second venue. The secondary node 506 may also be connected via throw-down nodes 534, 536 to additional network devices 538, 540 located at a second venue.
[0065] FIG. 6 shows a diagram of another example production environment including a computer-implemented system 601 for a large-scale broadcast event (e.g., a music festival with multiple stages in a large venue). System 601 may include a primary node 602 connected to secondary nodes 604, 606, and 608. Primary node 602 may be further connected to technology hubs 626, 628, and 630 and a broadcast controller 632. Secondary nodes 604, 606, and 608 may correspond to different stages, where the different stages are associated with the same event. Secondary node 604 may be further connected to technology hubs 610 and 612 associated with a first stage and a network device 614 associated with technology hub 612. Secondary node 606 may be further connected to a presentation studio and a network device 616 located within or associated with the presentation studio. Secondary node 608 may be further connected to technology hub 618 and a network device 620 associated with technology hub 618. Primary node 602 may be further connected to additional network devices 624 via a throw-down node 622.
[0066] According to another embodiment of the present disclosure, a method for dynamically connecting multiple network devices for secure communication is provided. Steps embodied in the method may be executed by at least one processor of the system 101 of FIG. 1 or the system 201 of FIG. 2 as described herein. Referring to FIG. 13, a flowchart of an exemplary method for dynamically connecting multiple network devices for secure communication is shown. As shown in FIG. 13, the method may begin at step 1310 with providing at least one primary node communicatively connected to at least one secondary node, the at least one primary node configured to connect the multiple network devices to a broadcast controller, the broadcast controller configured to transmit at least one of audio signals, video signals, or data signals captured by the multiple network devices to multiple recipient devices, and the at least one secondary node configured to connect at least a first device of the multiple network devices to the at least one primary node. At step 1320, the method 1300 may include connecting at least a first device for secure communication with the broadcast controller using the at least one primary node and the at least one secondary node. In step 1330, the method 1300 may include managing secure communications with the broadcast controller.
[0067] According to yet another embodiment of the present disclosure, a non-transitory computer-readable medium is provided, the non-transitory computer-readable medium including instructions that, when executed by at least one processor, cause the at least one processor to perform operations for dynamically connecting multiple network devices for secure communication. Steps embodied in the instructions of the non-transitory computer-readable medium may be executed by at least one processor of system 101 of FIG. 1 or system 201 of FIG. 2 as described herein. These steps may be similar to those described above with reference to the exemplary method of FIG. 13. Accordingly, the steps may be configured to provide at least one primary node communicatively connected to at least one secondary node, the at least one primary node configured to connect the multiple network devices to a broadcast controller, the broadcast controller configured to transmit at least one of audio signals, video signals, or data signals captured by the multiple network devices to a multiple recipient devices, and the at least one secondary node configured to connect at least a first device of the multiple network devices to the at least one primary node. The steps may further be configured to connect at least a first device for secure communication with the broadcast controller using the at least one primary node and the at least one secondary node. The steps may also be configured to manage secure communication with the broadcast controller.
[0068] Embodiments of the present disclosure also include computer-implemented systems and methods for providing software-defined networking solutions or software-defined networks. Software-defined networks generally refer to an architecture that separates the control plane functions of a network from its data plane functions. This can be achieved by moving the control and management of network devices and services or functions from individual, distributed hardware devices to a centralized, software-based system. In some embodiments, a system is provided that includes multiple devices (e.g., network equipment including a broadcast device and a networking device). The system may further include a broadcast controller (as described above and illustrated). The system may also include at least one processor. The at least one processor may be integrated with or linked to the broadcast controller, where the at least one processor is configured to deliver media flow-aware and data flow-aware orchestration, workflow monitoring and optimization, and continuous monitoring of endpoint devices or resources. For example, the at least one processor may be configured to provide over-the-top management of network switches, where the management is agnostic with respect to any vendor-specific requirements related to the network switches. The at least one processor may also be configured to connect at least one of the multiple devices to the broadcast controller via a new connection, regardless of the type of broadcast controller or the type of device. Such an example of technology independence may be achieved, for example, by implementing one or more APIs that carry various well-known drivers for broadcast controllers, network switches, or devices, and the drivers are installed as needed via the one or more APIs on specific software or hardware components relevant to the production environment.The at least one processor may configure or connect network devices by spinning up (or down) containers or clusters that run microservices (e.g., independently developed services where each service maintains a specific process to meet specific requirements). The at least one processor may further orchestrate the configuration or connections associated with the network devices (e.g., by responding to detected changes in the production network), ensure high availability of devices and resources (e.g., by providing redundant container instances), and ensure scalable performance (e.g., by spinning up or spinning down container instances based on load, workflow interruptions, detected failures, etc.).
[0069] The at least one processor may be further configured to scan for new connections to detect newly connected devices or users of connected devices. In some embodiments, when new connections are scanned, the at least one processor may be configured to assign detected devices or users. The at least one processor may also be configured to remove connected devices or users of connected devices from the network. The at least one processor may be further configured to monitor connected devices or users of connected devices. Such monitoring may be performed by a monitoring component of the software-defined network. The monitoring component may include a set of monitoring devices capable of continuously collecting data (e.g., logs, metrics, or configuration parameters associated with network devices or other resources of the production network). The set of monitoring devices may collect data to determine, for example, overall network integrity, optical hardware metrics, device hardware health, connection network health, overlay status, burst detection, bandwidth consumption, rule matching, aggregated logs, errors, anomalies, or abnormalities. The monitoring component may provide both streaming telemetry (e.g., gRPC, web sockets, raw listeners) and polling approaches (e.g., SNMP, HTTP endpoints). In some embodiments, the monitoring component may favor streaming telemetry over polling approaches because telemetry data may enable increased resolution, incremental updates for greater efficiency and accuracy, faster decision-making or automation, and less overhead costs based on lighter monitoring devices. A set of monitoring devices may also feed data into a time-series database to facilitate data aggregation. To further improve indexing and aggregation of collected data, log information across devices may be normalized to be interoperable by, for example, a software-defined network, at least one processor, a broadcast controller, or a multipurpose control and networking platform.The monitoring component may also be scalable to collect, process, and store data collected from multiple devices or resources. By deploying the monitoring device or component as one or more containers running in a cluster, the one or more containers enable scaling by encompassing microservices that can be spun up or down based on a given production network having specific types of devices or requiring specific resources. The monitoring component thereby enables scaling of the monitoring device as needed, resulting in reliable, high-performance monitoring of the network, regardless of the size of the production network and even in the largest events or production networks. Thus, the monitoring component may collect large amounts of data, which may further be fed into machine learning models that can perform supervised or unsupervised learning or statistical modeling based on the data. Both the collected data and the machine learning model output may be valuable data that can be further utilized in the future design or architecture of the production network. Additionally, the monitoring component may be linked or integrated with a broadcast controller to understand the production network being monitored and learn which metrics or parameters are considered normal for that production network. Because the broadcast controller is aware of the various production templates and the production template currently in use, the monitoring component can modify certain monitoring parameters (e.g., thresholds that may lead to an alert determination) based on the information available to the broadcast controller. Based on the modifications, the monitoring component can be enabled to detect anomalies, errors, or abnormalities in the particular production network being implemented by the broadcast controller.
[0070] The at least one processor may be further configured to dynamically adapt at least one of the service solutions or functions running on the plurality of network devices in response to (i) a detected newly connected device or its user, (ii) a removed newly connected device or its user, (iii) monitoring of connected devices or their users, or (iv) a schedule, calendar, or sequence of events. Dynamically adapting may refer to adjusting, modifying, or changing the behavior, characteristics, or parameters of a network device or other resource in real time or automatically as conditions change. Dynamic adaptation may enable components of a production environment to optimize the performance, efficiency, responsiveness, resiliency, or other functionality of connected devices or resources in response to various circumstances, requirements, or inputs. For example, when a newly connected device is detected and assigned by the at least one processor, dynamically adapting may include configuring and deploying a service or function to the newly connected and assigned device. Additionally, configuration and deployment may require additional resources to be routed to the newly connected device, and the at least one processor may identify and connect those additional resources to the newly connected device. As another example, a newly connected and assigned device may replace or supplement another connected device, and the at least one processor may redefine the routing path between the resource and each connected device based on the replacement or supplement. As yet another example, a removed device or a lost or failed resource may be detected, in which case a replacement connected device or resource may be identified and routed by the at least one processor to the multipurpose control and networking platform or to the broadcast controller.As a result of the dynamic adaptation performed continuously (or at least periodically) by at least one processor, the services and features desired by users can be performed continuously and seamlessly across multiple network devices, broadcast controllers, and other resources of the system as different devices connect to or disconnect from the production environment.
[0071] In some embodiments, dynamically adapting at least one of the service solutions or functions may include configuring the detected connected devices to perform at least one of the service solutions or functions, for example, using a template file or machine image. Such configuration may be performed by a configurator component of the software-defined network. The configurator component may include one or more clusters or containers running configuration services or microservices to configure and prepare the fabric (e.g., devices, resources, or platforms and the workflows between them) of the production network. The configurator component may enable all network device configurations to be automated based on a database or repository of proven configuration templates, without requiring any human intervention or manual configuration (e.g., by a network engineer) during the automated process. The configuration service or microservice may enable a user to apply a configuration baseline or rollback configuration for one or more connected devices. Configuration services or microservices may include discovering or mapping production network topology, discovering or reporting hosts on a production network, allocating devices on the network by configuring network switches and managing IP addresses of connected devices, automating baseline configuration by establishing core routing paths, enabling the delivery of data services, or enforcing authenticated access by devices or their users.
[0072] In some embodiments, dynamically adapting at least one of the service solutions or functions may include, for example, rerouting connections to detected connected devices through the network without interrupting at least one of the service solutions or functions. Such rerouting may be performed by a pathfinder component of the software-defined network. The pathfinder component may include a service or microservice running on one or more clusters or containers that identifies and programs real-time multicast routes for both media flows and data service flows into the production network topology, applies policing based on corresponding broadcast or networking device formats, and performs load balancing (e.g., to prevent oversubscription of devices or resources or to prevent workflow congestion) based on network logic that may include media flow or data service flow priority. In some embodiments, the network logic may be captured based at least in part on an integrated or linked broadcast controller. As a result of such integration or linking, the pathfinder component may be enabled to discover and identify all network devices, resources, ports, media workflows, data service workflows, and bandwidths associated with the production network. In some embodiments, rerouting a connection may include automatically remapping one or more paths on a network based on newly connected, disconnected, or failed components of the network, for example, using a graph database.The path finder component may be configured to discover routing paths by using cryptography with custom algorithms, for example, based on shortest path (or at least hops), bandwidth (e.g., in one or more of load balancing mode, optimization mode, prioritization mode, or distribution mode), protected or virtually isolated groups of devices or resources, device or resource reservations, or availability or overhead space. In some embodiments, automatically remapping the network may include, for example, determining a priority associated with at least one of the service solutions or functions and modifying one or more paths on the network based on the determined priority or based on real-time conditions of the production network. In some embodiments, dynamically adapting at least one of the service solutions or functions may include defining a first route between the detected connected device and the broadcast controller and a second route between the detected connected device and the broadcast controller, the second route configured to replace the first route upon detection of a disconnection or failed component of the first route. In some embodiments, dynamically adapting at least one of the service solutions or functions may include scheduling at least one of the service solutions or functions, for example, based on broadcast control commands made to or from a broadcast controller. Such scheduling may be performed by a scheduling component of the software-defined network, which is integrated or linked with the broadcast controller, and the software-defined network (or at least one processor) has full visibility of media and data flows and switches throughout the production network based on the link or integration with the broadcast controller and thereby information known to the broadcast controller.The scheduling component may include one or more services or microservices running on one or more clusters or containers that automate routing and service preparation based on a calendar, a sequence of events related to a production, or broadcast control commands. Broadcast control commands may refer to specific instructions or commands issued by a user or control center (e.g., a broadcast controller) to modify or manipulate the transmission of audio, video, or data content in a broadcast network. Broadcast control commands may include input data related to content scheduling, signal routing, playout management, data transmission control, and other operational tasks related to a broadcast production or event network.
[0073] In some embodiments, the at least one processor may be configured to dynamically adapt resources to provide at least one of the service solutions or functions, the resources being accessible via a centralized resource pool. In some embodiments, the at least one processor may be further configured to place the detected connected device in the centralized resource pool and make the detected device available as a resource on demand or when called upon by an event request based on a desired application of the device. In some embodiments, the at least one processor may be further configured to determine whether the connected device or user of the connected device was previously reported. Reporting may refer to identifying the device or user as an authorized or authenticated device or user, and assigning the identified device or user would be secure. Reporting may also refer to identifying or determining that a device or user is no longer authorized or authenticated (e.g., a device that should no longer be present according to a production schedule, or a device identified as insecure (or no longer secure), e.g., based on a detected security incident associated with the device or user). The at least one processor may be configured to isolate a connected device or a user of a connected device when the connected device or a user of the connected device has not previously been authenticated or when it is determined that the connected device or a user of the connected device is no longer authorized or authenticated. When the device or user was previously authorized, the at least one processor may be configured to keep the device or user in an active queue. The active queue may refer to a data structure used to store or prioritize a list of authorized and authenticated network devices or users of one or more production environments. The active queue may enable the at least one processor to maintain and process items or tasks for each enumerated network device in a certain order or based on other specified rules or criteria.In some embodiments, the at least one processor may be configured to manage an active queue, where managing the active queue is based on resource allocation information (e.g., resource allocation definitions) associated with each device in the active queue. In some embodiments, the at least one processor may be configured to provide a tag to a connected device or a user of the connected device based on the resource allocation information. A tag may refer to an electronic or digital label or marker associated with a network device or other resource that may provide additional context, identification, or classification for the network device or other resource. Tags may be used, for example, to organize, categorize, search, monitor, control, or dynamically adapt various network devices and resources. In some embodiments, tags may include information such as at least one of a configuration state, an address, a usage definition, a configuration profile, pre-configured functionality, or an active role associated with a network device or other resource. Tagging may be implemented, for example, to provide an end user with a meaningful, tangible signal (e.g., video, audio, auxiliary / metadata) or signal type (e.g., a source signal or a target signal) associated with a device or resource. For example, one or more signals of a given production flow can be combined and exposed to an end user via tagging as a target or source (e.g., tags such as "camera-1," "production monitor-5," or "playback input-7"). In a dynamic production environment, various devices or resources can be combined or swapped with other devices or resources. However, tags associated with various devices or resources can also be combined or swapped accordingly. As a result, tagging can enable end users to understand signal flows in a broadcast environment based on the abstracted data flows, regardless of which specific devices or resources are utilized for a particular data flow on a given day or in a given production.Tagging may also enable the at least one processor to dynamically adapt at least one service solution or function. For example, tags associated with connected devices or workflows may quickly provide the at least one processor with relevant information, such as the capabilities or capacities of each connected device or the requirements or parameters of each workflow. As a result, the at least one processor can dynamically adapt at least one service solution or function by modifying or replacing connections between devices or configurations of connected devices. Furthermore, tagging may be implemented in a cascading manner, such that a change in a tag associated with an upstream device or resource in a particular data flow may be automatically implemented on all devices or resources downstream of the upstream device in the same data flow. As a result, new or modified tags may be associated with all devices and resources that make up each data flow.
[0074] In some embodiments, the at least one processor may be embedded within the broadcast controller, or the software-defined network may be embedded within the broadcast controller. Embedding may refer to the integration of one component (e.g., the at least one processor or the SDN) into another component (e.g., the broadcast controller). Embedding may enhance or extend the functionality or capabilities of the at least one processor. Embedding may further enable a lean architecture, efficiency, a reduced footprint, and maximum utilization of connected devices and resources.
[0075] 8 shows a diagram of an exemplary operating environment including a computer-implemented system 801 including end-user devices 802, a broadcast controller 804, and a software-defined network (SDN) including an SDN controller 806 and a network switch 808. The broadcast controller 804 can be connected to various end-user devices 802 and can be compatible with various types of end-user devices based on end device drivers 824 stored within the broadcast controller 804. The SDN controller 806 can be connected to the broadcast controller 804, and can communicate with the end-user devices 802 via the broadcast controller 804. The SDN controller 806 can include a configurator component 816, a path finder component 826, and a monitoring component 836. The components 816, 826, 836 can perform functions related to configuring, rerouting, and monitoring (as described and illustrated above) the end-user devices 802 or the network switch 808. Components 816, 826, and 836 are also connected to the broadcast controller 804 so that the SDN controller 806, or software-defined network, can understand where signals from each broadcast device need to be sent and perform such functions. The integration of the broadcast controller 804 with the SDN controller 806's components 816, 826, and 836 thereby enables efficient and effective configuration, routing, monitoring, and control of various deployments based on the actual connectivity and application of the broadcast devices. Components 816, 826, and 836 can also function appropriately with various network switch types 818, 828, 838, and 848 by utilizing various corresponding network switch drivers 810-813 stored on the software-defined network or integrated with the SDN controller 806.The components 816, 826, 836 may also function properly with various network device types 802 by utilizing corresponding end device drivers 824 of the broadcast controller 804 for compatibility with various end device types.
[0076] FIG. 9 shows a flowchart of an example process 900 for utilizing a centralized resource pool (e.g., rerouting) to recover from an equipment failure. Process 900 may be performed, for example, by at least one processor in link 104 or multipurpose control and networking platform 102 of FIG. 1 , or by at least one processor in multipurpose control and networking platform 300 of FIG. 2 . Process 900 may include step 910 of detecting a failure in an allocated connected device or resource. The failure may be detected, for example, by the software-defined network, the multipurpose control and networking platform, or a user thereof. Process 900 may further include step 920 of requesting a replacement device or resource or requesting reallocation of a device or resource. The request may be made, for example, by the software-defined network, the multipurpose control and networking platform, or a user thereof. Process 900 may also include step 930 of checking the availability of the device or resource and approving (or rejecting) the received request. Availability may be checked, and the request may be approved (or denied), for example, by a scheduling component of the software-defined network, by a multipurpose control and networking platform, or by its user. Process 900 may further include step 940 of performing the approved replacement or reallocation by rerouting signal delays, replicating parameter values from the failed device or resource to a replacement device or resource, and providing control of the replacement device or resource to the user. Process 900 may also include step 950 of configuring and preparing the replacement device or resource to complete the recovery process.
[0077] FIG. 10 shows a diagram of an exemplary graphical user interface 1000 for providing visualization and control tools for software-defined networks. The graphical user interface 1000 may be generated by and implemented for use with disclosed embodiments of a multipurpose control and network platform, for example, via 102 of FIG. 1 or via 300 of FIG. 2. Furthermore, the graphical user interface 1000 may be made accessible to a user through a combination of user interfaces and / or one or more networks, for example, via the Internet 100 of FIG. 1 and / or user interface 202 of FIG. 2. By way of example, the graphical user interface 1000 may be accessed by one or more users, for example, users 110, 120, 130, 140, 150, 160 of FIG. 2. The graphical user interface 1000 may be configured to allow a user to search and browse nodes in a network (a spine-leaf network is shown in the example of FIG. 10) and provide input that triggers dynamic adaptation of service solutions or capabilities of the network. User input and dynamic adaptation may be provided to and implemented using at least one processor, e.g., at least one of processors 102, 104, or 106 of FIG. 1 or at least one of processors 300 of FIG. 2. As shown in FIG. 10, a graphical user interface 1000 includes a visualization 1030 of network switches 1010 and the connections 1020 therebetween. Displaying such visualizations 1030 can help a user understand available redundant paths within a production network and / or ascertain the status (e.g., health, connectivity, stability, etc.) of connections within the network, as well as determine available replacement devices when necessary (e.g., upon detection of an equipment failure). The graphical user interface 1000 may further display configuration data or other parameters 1040 associated with each visualized network switch or other node.In some embodiments, configuration data or other parameters 1040 may be searched, filtered, and displayed based on user-desired preferences, and visualization 1030 may be automatically updated based on the filtered results.
[0078] FIG. 11 shows a diagram of a system 1100 including a pathfinder component 1110 for a software-defined network having one or more nodes 1120 and connections 1130. The pathfinder component 1110 may be configured to collect real-time data and information 1140 from the devices and connections of the software-defined network and assist in rerouting connections without interrupting a prepared service solution or function. As disclosed with reference to FIG. 8, the pathfinder component may be implemented as part of a controller (e.g., 806) for the software-defined network. As shown in FIG. 8, other components (not shown in FIG. 11) may be provided in the pathfinder component 1110, such as a configurator (e.g., 816) and a monitoring component (e.g., 836). In some embodiments, the path finder component 1110 may include a service or microservice running on one or more clusters or containers that identifies and programs real-time multicast routes into a production network topology, such as that shown in FIG. 11, for both media flows and data service flows, applies control policies based on corresponding broadcast or networking device formats, and performs load balancing (e.g., preventing oversubscription of devices or resources or preventing workflow congestion) based on network logic that may include media flow or data service flow priority. In some embodiments, the network logic may be captured based at least in part on an integrated or linked broadcast controller. In some embodiments, rerouting connections may include automatically remapping one or more paths on the network based on newly connected, disconnected, or failing components of the network (e.g., device 1120), for example, using a graph database (not shown).The path finder component may be configured to discover routing paths by using cryptography with custom algorithms, for example, based on shortest path (or at least hops), bandwidth (e.g., in one or more of load balancing mode, optimization mode, prioritization mode, or distribution mode), protected or virtually isolated groups of devices or resources, device or resource reservations, or availability or overhead space. In some embodiments, automatically remapping the network may include, for example, determining a priority associated with at least one of the service solutions or functions and modifying one or more paths on the network based on the determined priority or based on real-time conditions of the production network. In some embodiments, dynamically adapting at least one of the service solutions or functions may include defining a first route (e.g., including connection 1130) between the detected connected device and the broadcast controller and a second route (e.g., including other connections) between the detected connected device and the broadcast controller, the second path configured to replace the first path upon detection of a disconnected or failed component of the first path. In some embodiments, dynamically adapting at least one of the service solutions or functions may include scheduling at least one of the service solutions or functions based on, for example, broadcast control commands made to or from a broadcast controller.Such scheduling may be performed by a scheduling component (not shown in FIG. 11 ) of the software-defined network that is integrated or linked with the broadcast controller so that the software-defined network (or at least one processor) has complete visibility of media and data flows and switches throughout the production network based on the link or integration with, and thereby information known to, the broadcast controller. The scheduling component may include one or more services or microservices running on one or more clusters or containers that automate routing and service preparation based on a calendar, a sequence of events related to the production, or broadcast control commands. Broadcast control commands may refer to specific instructions or commands issued by a user or control center (e.g., a broadcast controller) to modify or manipulate the transmission of audio, video, or data content in the broadcast network. Examples of broadcast control commands include commands related to content scheduling, signal routing, playout management, data transmission control, and other operational tasks related to a broadcast production or event network.
[0079] In some embodiments, one or more graphical user interfaces may be generated and implemented to allow users to visualize the software-defined network and / or input broadcast control commands. Similar to the embodiment of FIG. 10, such graphical user interfaces may be made accessible to users through a combination of user interfaces and / or one or more networks, for example, via the Internet 100 of FIG. 1 and / or user interface 202 of FIG. 2. By way of example, graphical user interface 1100 may be accessed by one or more users, e.g., users 110, 120, 130, 140, 150, 160 of FIG. 2. Such graphical user interfaces may be configured to allow users to provide commands and other inputs that trigger dynamic adaptation of service solutions or functionality provided, for example, via at least one processor at 102, 104, or 106 of FIG. 1 or at least one processor at 300 of FIG. 2. In some embodiments, a graphical user interface may be provided to enable real-time visualization of a deployed software-defined network, including the configuration, arrangement, and status of all network switches and connections, as well as route rerouting and other dynamic adaptations applied to the network.
[0080] According to another embodiment of the present disclosure, a method for providing a software-defined network is provided. Steps embodied in the method may be executed by at least one processor of system 101 of FIG. 1 or system 201 of FIG. 2 as described herein. Referring to FIG. 14, a flowchart of an exemplary method for providing a software-defined network is shown. As shown in FIG. 14, the method may begin at step 1410 with connecting at least one device of a plurality of devices to a broadcast controller via a new connection. The broadcast controller may be configured to transmit at least one of an audio signal, a video signal, or a data signal from the plurality of devices to a plurality of receiving devices. At step 1420, the method 1400 may include scanning the new connection to detect the newly connected device or a user of the connected device. At step 1420, the method 1400 may include dynamically adapting at least one of a service solution or a function running on the plurality of network devices in response to the detected newly connected device or its user.
[0081] According to yet another embodiment of the present disclosure, a non-transitory computer-readable medium is provided, the non-transitory computer-readable medium including instructions that, when executed by at least one processor, cause the at least one processor to perform operations for providing a software-defined network. Steps embodied in the instructions of the non-transitory computer-readable medium may be executed by at least one processor of system 101 of FIG. 1 or system 201 of FIG. 2 as described herein. These steps may be similar to those described above with reference to the exemplary method of FIG. 14. Accordingly, the steps may be configured to connect at least one device of the plurality of devices to a broadcast controller via a new connection, the broadcast controller being configured to transmit at least one of audio signals, video signals, or data signals from the plurality of devices to the plurality of receiving devices. The steps may also be configured to scan for new connections to detect the newly connected device or a user of the connected device. The steps may further be configured to dynamically adapt at least one of service solutions or functions running on the plurality of network devices in response to the detected newly connected device or its user.
[0082] The diagrams and components in the above figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer hardware or software products according to various exemplary embodiments of the present disclosure. For example, each block in a flowchart or diagram may represent a module, segment, or portion of code, including one or more executable instructions for implementing the specified logical function. It should also be understood that in some alternative implementations, the functions shown in the blocks may occur in an order different from that shown in the figures. For example, two blocks or steps shown in succession may be executed or implemented substantially simultaneously, or two blocks or steps may sometimes be executed in the reverse order, depending on the functionality involved. Furthermore, some blocks or steps may be omitted. It should also be understood that each block or step in the figures, and combinations of blocks or steps, may be implemented by a dedicated hardware-based system that performs the specified functions or acts, or by a combination of dedicated hardware and computer instructions. A computer program product (e.g., software or program instructions) may also be implemented based on the described embodiments and illustrated examples.
[0083] It should be understood that the above-described systems and methods can be varied in many ways and that different features can be combined in different ways. In particular, not all of the features illustrated above in a particular embodiment or implementation are required in all embodiments or implementations. Further combinations of the above-described features and implementations are also considered to be within the scope of the embodiments or implementations disclosed herein.
[0084] While features of several embodiments and implementations have been described and illustrated herein, modifications, substitutions, changes, and equivalents will be apparent to those skilled in the art. It is therefore to be understood that the appended claims are intended to cover all such modifications and variations that fall within the scope of the features of the disclosed embodiments and illustrated implementations. It is also to be understood that the embodiments described herein are presented by way of example only, not limitation, and that various changes in form and detail may be made. Any portion of the systems and / or methods described herein may be implemented in any combination, except mutually exclusive combinations. For example, the implementations described herein may include various combinations and / or subcombinations of the functions, components, and / or features of the different embodiments described.
[0085] Furthermore, while exemplary embodiments have been described herein, the scope of the disclosure includes embodiments having equivalent elements, modifications, omissions, combinations, adaptations, or variations (e.g., of aspects across various embodiments) based on the embodiments disclosed herein. Moreover, the elements in the claims should be construed broadly based on the language used in the claims, and not limited to the examples set forth in the specification or during the prosecution of this application. Rather, these examples should be construed as non-exclusive. Accordingly, the specification and examples are intended to be considered exemplary only, with a true scope and spirit being indicated by the following claims and their full scope of equivalents.
Claims
1. 1. A computer-implemented system for a multipurpose control and networking platform, the system including a plurality of network devices; the plurality of network devices includes a plurality of broadcast devices, the plurality of broadcast devices transmitting at least one of audio signals, video signals, or data signals, the plurality of network devices being dynamically connected for secure communication with at least one processor; The at least one processor configuring at least one of a service solution or a feature; deploying at least one of the service solution or the functionality among the plurality of network devices using one or more standalone local clusters for the plurality of network devices; monitoring and controlling said deploying of at least one of said service solution or said functionality; automating a routing path for at least one of the service solution or the function to the plurality of network devices; 10. A system configured to:
2. 2. The system of claim 1, wherein the deploying step or the monitoring and controlling step of the deploying step by the at least one processor among the plurality of network devices is technically independent of the type or capabilities of each network device.
3. 10. The system of claim 1, wherein the service solution comprises at least one of a software-enabled networking solution, centralized production, cloud production, and live production.
4. 10. The system of claim 1, wherein the functionality includes at least one of device configuration, device control, IP routing, system and network monitoring, rule-based audio and video alignment, resource scheduling, resource sharing, network and device security, scaling, workflow automation, user management, cloud production functionality, device utilization schemes, an audio streaming system, a video streaming system, a media synchronization system, a metadata collection system, an asset tagging system, a media distribution system, and a metadata distribution system.
5. 10. The system of claim 1, wherein the at least one processor is further configured to provide configuration and control data via at least one application programming interface (API).
6. 10. The system of claim 1, wherein monitoring and controlling the deploying comprises allocating endpoints from a resource pool based on one or more productions; and segregating the endpoints based on one or more productions.
7. 10. The system of claim 1, further comprising rearranging connections between the plurality of network devices based on detection of at least one of a newly connected device, a removed device, or a failed network component.
8. 7. The system of claim 6, wherein the routing path of at least one of the service solution and the function is automated between the plurality of network devices and the endpoint from the resource pool.
9. The system of claim 1 , wherein the one or more stand-alone local clusters are configured to perform steps that operate in the absence of connectivity to a cloud-based component.
10. 10. The system of claim 1, wherein the at least one processor is further configured to perform the step of generating a visualization via a user interface, the visualization showing a status or parameter associated with the plurality of network devices.
11. The system of claim 1 , wherein the automated routing paths include redundant routing paths.
12. The step of monitoring and controlling the deploying step includes: The system of claim 1 , comprising receiving data from a cloud-based cluster and transmitting the received data to the one or more standalone local clusters.
13. 10. The system of claim 1, wherein monitoring and controlling the deploying comprises receiving data from the one or more standalone clusters and transmitting the received data to a cloud-based cluster.
14. The system of claim 1 , wherein the at least one processor is further configured to perform the step of enabling decentralized control of the deployment using a software-based user interface.
15. 2. The system of claim 1, wherein the controlling comprises scaling containers in the one or more standalone local clusters based on detected changes associated with at least one of the plurality of network devices or the service solution or the function.
16. 2. The system of claim 1, wherein the one or more standalone local clusters enable at least one of starting, pausing, resuming, and shutting down at least a portion of the service solution or at least one of the functions without interrupting the configuration of the service solution or at least one of the functions.
17. 17. The system of any one of claims 1 to 16, wherein the plurality of network devices further comprises one or more networking devices connecting the plurality of broadcast devices to a broadcast controller.
18. 20. The system of claim 17, wherein the broadcast controller further connects the broadcast device to multiple recipient devices simultaneously.
19. 1. A method for implementing a multipurpose control and networking platform, the method comprising: dynamically connecting a plurality of network devices, including a plurality of broadcast devices transmitting at least one of an audio signal, a video signal, or a data signal, for secure communication; configuring at least one of a service solution or a feature; deploying at least one of the service solution or the functionality among the plurality of network devices using one or more standalone local clusters for the plurality of network devices; monitoring and controlling said deploying of at least one of said service solution or said functionality; and automating a routing path for at least one of the service solution or the function to the plurality of network devices.
20. 1. A non-transitory computer-readable medium containing instructions that, when executed by at least one processor, cause the at least one processor to perform operations to implement a multipurpose control and networking platform, the operations comprising: dynamically connecting a plurality of network devices, including a plurality of broadcast devices transmitting at least one of an audio signal, a video signal, or a data signal, for secure communication; configuring at least one of a service solution or a feature; deploying at least one of the service solution or the functionality among the plurality of network devices using one or more standalone local clusters for the plurality of network devices; monitoring and controlling the deployment of at least one of the service solution or the functionality; and automating a routing path for at least one of the service solution or the function to the plurality of network devices.