EP-4738105-A2 - SOFTWARE DEPLOYMENT ON VEHICLES
Abstract
Described herein are systems and methods for deploying software on mobile venues. The software deployment systems and methods described herein operate using software containers and container orchestrators to provide modular updates to software onboard mobile vehicles. The software deployment systems include a modular update delivery module, a container orchestrator, and a venue update manager. The modular update delivery module maintains a registry of containers. The container orchestrator requests from the modular delivery module a correct version of one or more containers to run. The venue update manager receives order for software for a mobile venue and generates venue specifications based on the ordered software. The modular update delivery module determines which containers in the container registry correspond to the ordered software when a request comes from the container orchestrator and delivers the containers to the mobile venue to deploy the ordered software.
Inventors
- FLOYD, STUART H.
- POZDOLSKI, Connor J.
Assignees
- ViaSat, Inc.
Dates
- Publication Date
- 20260506
- Application Date
- 20220901
Claims (8)
- A software deployment system comprising: a modular update delivery module configured to: receive an updated container; scan the updated container for vulnerabilities; receive deployment characteristics related to the updated container; and specify to which one or more mobile venues of a plurality of mobile venues the updated container is to be deployed; a container orchestrator implemented on a requesting mobile venue, the container orchestrator configured to send a request to the modular update delivery module for a correct version of one or more containers to run; and a venue update manager configured to: provide a catalog of available software services; receive an order for software to be installed on the requesting mobile venue, the order including requirements for the software and one or more of the available software services; and generate venue specifications based on the ordered software and configuration change overlays, wherein the venue specifications are configured to enable bundling distribution, and deployment of the software to be installed on the requesting mobile venue and wherein the venue specifications are specific to a particular mobile venue or class of mobile venues of the plurality of mobile venues, wherein the modular update delivery module is further configured to: receive, from the venue update manager, the venue specifications based on the ordered software; receive, from the container orchestrator, the request for the correct version of one or more containers to run on the requesting mobile venue; generate a deployable container based on the venue specifications and the one or more containers to run on the requesting mobile venue, the deployable container including the updated container; and transmit to the requesting mobile venue the deployable container, wherein the container orchestrator is further configured to: generate an engineering configuration for the requesting mobile venue based on converting the venue specification using one or more server specific configurations, wherein the engineering configuration is configured to enable deployment of software from the deployable container on a specific environment of a venue server of the requesting mobile venue; and deploy the software on the requesting mobile venue using the deployable container and the engineering configuration.
- The system of claim 1, wherein the modular update delivery module is further configured to provide a container registry that is configured to store the updated container for installation in the requesting mobile venue.
- The system of claim 1 or claim 2, wherein the modular update delivery module is further configured to provide a secrets storage configured to provide role-based access controls.
- The system of any preceding claim, wherein the modular update delivery module is further configured to monitor a configuration management repository, to detect changes to the configuration management repository, and, responsive to detecting a change in the configuration management repository, transmit changed component files to the requesting mobile venue.
- The system of any preceding claim, wherein the container orchestrator is configured to generate an engineering configuration by applying a change overlay to the venue specifications to enable modification of at least one aspect of the deployable container to render the software compatible with the requesting mobile venue.
- The system of any preceding claim, wherein the requesting mobile venue is a mobile vehicle.
- The system of claim 6, wherein the updated container is configured to be deployed on a server located on the mobile vehicle.
- The system of any preceding claim, wherein the modular update delivery module is implemented on a server that is different from a venue on which the container orchestrator is implemented.
Description
CROSS-REFERENCE TO RELATED APPLICATION This application claims priority to U.S. Prov. App. No. 63/239,861 filed September 1, 2021 and entitled "TECHNIQUES FOR MODULARIZED SOFTWARE UPDATES OF MOBILE TERMINALS," which is expressly incorporated by reference herein in its entirety for all purposes. BACKGROUND Field The present disclosure generally relates to maintaining, updating, and deploying software on mobile terminals. Description of Related Art Software management systems typically involve managing a repository of packages installed on a system. If a new software package is to be deployed or an update to a software package is to deployed, the software management system typically determines what to install on the requesting system as well as which supporting libraries are to be installed or updated. The software management system can be configured to resolve dependency issues wherein multiple software packages utilize the same underlying libraries. The software management system can then install or update the software package. SUMMARY In some aspects, the techniques described herein relate to a software deployment system including: a modular update delivery module configured to: receive an updated container; scan the updated container for vulnerabilities; receive deployment characteristics related to the updated container; and specify to which mobile venues the updated container is to be deployed; a container orchestrator implemented on a requesting mobile venue, the container orchestrator configured to send a request to the modular update delivery module for a correct version of one or more containers to run; and a venue update manager configured to: provide a catalog of available software services; receive an order for software to be installed on the requesting mobile venue, the order including requirements for the software and one or more of the available software services; and generate venue specifications based on the ordered software, wherein the modular update delivery module is further configured to: receive, from the venue update manager, the venue specifications based on the ordered software; receive, from the container orchestrator, the request for the correct version of one or more containers to run on the requesting mobile venue; generate a deployable container based on the venue specifications and the one or more containers to run on the requesting mobile venue, the deployable container including the updated container; and transmit to the requesting mobile venue the deployable container, wherein the container orchestrator is further configured to deploy software on the requesting mobile venue using the deployable container. In some aspects, the techniques described herein relate to a system, wherein the modular update delivery module is further configured to provide a container registry that is configured to store the updated container for installation in the requesting mobile venue. In some aspects, the techniques described herein relate to a system, wherein the modular update delivery module is further configured to provide a secrets storage configured to provide role-based access controls. In some aspects, the techniques described herein relate to a system, wherein the modular update delivery module is further configured to monitor a configuration management repository, to detect changes to the configuration management repository, and, responsive to detecting a change in the configuration management repository, transmit changed component files to the requesting mobile venue. In some aspects, the techniques described herein relate to a system, wherein the container orchestrator is configured to generate an engineering configuration by applying a change overlay to the venue specifications. In some aspects, the techniques described herein relate to a system, wherein the requesting mobile venue is a mobile vehicle. In some aspects, the techniques described herein relate to a system, wherein the updated container is configured to be deployed on a server located on the mobile vehicle. In some aspects, the techniques described herein relate to a system, wherein the modular update delivery module is implemented on a server that is different from a venue on which the container orchestrator is implemented. In some aspects, the techniques described herein relate to a software deployment system including: a network interface; non-volatile memory configured to store computer-executable instructions; and one or more processors configured to control operation of the network interface and to execute the computer-executable instructions stored on the non-volatile memory, the computer executable instructions configured to cause the software deployment system to: receive a request for software deployment on a server on a mobile venue; generate a venue specification based on the request for software deployment; identify individual components of software to install based on the venue specification; and deliver