Prosecution Insights
Last updated: July 17, 2026
Application No. 18/688,311

MODULARIZED SOFTWARE DEPLOYMENT ON MOBILE VENUES

Non-Final OA §102§103
Filed
Feb 29, 2024
Priority
Sep 01, 2021 — provisional 63/239,861 +1 more
Examiner
DUAN, VIVIAN WEIJIA
Art Unit
2191
Tech Center
2100 — Computer Architecture & Software
Assignee
Viasat Inc.
OA Round
1 (Non-Final)
64%
Grant Probability
Moderate
1-2
OA Rounds
3m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 64% of resolved cases
64%
Career Allowance Rate
9 granted / 14 resolved
+9.3% vs TC avg
Strong +55% interview lift
Without
With
+55.0%
Interview Lift
resolved cases with interview
Typical timeline
2y 8m
Avg Prosecution
10 currently pending
Career history
42
Total Applications
across all art units

Statute-Specific Performance

§101
19.2%
-20.8% vs TC avg
§103
76.9%
+36.9% vs TC avg
§112
3.9%
-36.1% vs TC avg
Black line = Tech Center average estimate • Based on career data from 14 resolved cases

Office Action

§102 §103
DETAILED ACTION This action is in response to the claims filed February 29, 2024. Claims 1-20 are pending. Claims 1, 9, and 15 are independent claims. Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claim Objections Claims 1, 5, 8, 9, 15, and 18 are objected to because of the following informalities: - Claims 1, 9, and 15 are marked “Current Amended” but do not include the requisite annotations to indicate added limitations. - Claims 5, 8, and 18 are marked “Previously Presented” but there is no previous filing with an amended claim 5, 8, or 18. Appropriate correction is required. Claim Interpretation The following is a quotation of 35 U.S.C. 112(f): (f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph: An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked. As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph: (A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function; (B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and (C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function. Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function. Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function. Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: “a modular update delivery module configured to…” in claim 1. “container orchestrator configured to…” in claim 1. “a venue update manager configured to…” in claim 1. Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof. If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. Claim Rejections - 35 USC § 102 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention. (a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention. Claim 9 is rejected under 35 U.S.C. 102(a)(1)/(a)(2) as being anticipated by US 20140317253 A1 (hereinafter “Alford”). Regarding claim 9, Alford discloses: A software deployment system comprising: 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 one or more processors to (Fig. 8): - receive a request for software deployment to a server on a mobile venue (Paragraph [0014], “The configuration management service may be accessed by a client to request that a particular configuration, e.g. a particular application environment, be installed on two or more different target system platforms. For example, a client may specify that a particular word processing application is to be installed on two different hardware platforms, one of which uses a 32-bit processor and the other a 64-bit processor. The configuration management service may deliver a package to the first platform that may include components for implementing a configuration (e.g., an application environment) according to the first platform's particular requirements [receive a request for software deployment to a server on a mobile venue]”; Paragraph [0021], “Target computer devices may include, but are not limited to, mainframes, server systems, desktop computers, personal computers, handheld or portable computing devices such as Personal Digital Assistants (PDAs), and so on”) [Examiner’s remarks: An order is received for installing a software, with a request for the service (word processing application) and requirements for the software (processor type). Target computer device (mobile venue) may include servers.]; - generate a venue specification based on the request for software deployment and at least one configuration change overlay, wherein the venue specification is configured to enable bundling, distribution, and deployment of software to be installed on the mobile venue and wherein the venue specification is specific to a particular mobile venue or class of mobile venues of a plurality of mobile values (Paragraph [0018], “When a client generates and sends a request to verify or update the configuration on a system, the configuration management service may access the stored configurations to verify that the configuration of the content on the system matches the stored configuration specification. If the configuration management service determines that the configuration of the system is not in accordance with the stored configuration specification, for example if a component specified by the stored configuration has been deleted from the system, the configuration management service may automatically generate an update package and send the package to the system to update or otherwise correct the configuration on the system”; Paragraph [0024], “Embodiments may be used to generate and deliver packages for installing a particular configuration, e.g. a particular application environment, on two or more different target system platforms. For example, a client may specify that a particular word processing application is to be installed on two different hardware platforms, one of which uses a 32-bit processor and the other a 64-bit processor”; Paragraph [0032], “Upon receiving a configuration request, configuration management service 112 may collect one or more components 130 necessary for the configuration and compile the components 130 into a package. Components 130 may include, but are not limited to, installers, applications, programs, software modules, drivers, data files, image files, scripts, plug-ins, or any other type of digital component that may be necessary or desired for installation on the target system”; Paragraph [0034], “Configuration management service 112 may generate a configuration specification according to the configuration request and store the configuration specification in configuration database 122 on data storage 120. … The stored configuration specifications may be used by the configuration management service 112, for example, to track configurations for clients and to verify installed configurations on target systems upon client request for verification” [generate a venue specification based on the request for software deployment and at least one configuration change overlay, wherein the venue specification is configured to enable bundling, distribution, and deployment of software to be installed on the mobile venue and wherein the venue specification is specific to a particular mobile venue or class of mobile venues of a plurality of mobile values]) [Examiner’s remarks: Venue specifications are generated which are used for bundling, distribution and deployment (the packaging of components) for a specific target platform type.]; - identify individual components of software to install based on the venue specification (Paragraph [0032], “Upon receiving a configuration request, configuration management service 112 may collect one or more components 130 necessary for the configuration and compile the components 130 into a package. Components 130 may include, but are not limited to, installers, applications, programs, software modules, drivers, data files, image files, scripts, plug-ins, or any other type of digital component that may be necessary or desired for installation on the target system [identify individual components of software to install based on the venue specification]”) [Examiner’s remarks: Individual components, including for example, installers, applications and programs, are compiled into a package based on venue specifications.]; - deliver the identified individual components to the mobile venue server (Paragraph [0017], “The configuration management service may generate digital packages according to the specified configurations. The generated packages may be delivered to the target computer systems via the network according to the specified communications information”); - generate an engineering configuration for the mobile venue server based on converting the venue specification using one or more server specific configurations of the mobile venue server, wherein the engineering configuration is configured to enable deployment of software from a deployable container on a specific environment of the mobile venue (Paragraph [0033], “In one embodiment, a package may include a module that, once the package arrives on the target system, runs on the target system to check the current state of the target system in regard to the requested configuration associated with the package. The module may, for example, determine that one or more components needed for the configuration are already present on the target system, or that one or more additional or different components not included in the package are needed for the installation. If a component is already installed on the target system, the package may not re-install the component. If additional or different components are needed, the module may attempt to obtain the needed components for the installation”) [Examiner’s remarks: A component of the package compares the venue to the venue specifications and notes incompatibilities (engineering configuration) and the problem is resolved via a request for a compatible component.]; and - deploy the identified individual components on the mobile venue server using the generated engineering configuration (Paragraph [0033], “In one embodiment, a package may include a module that, once the package arrives on the target system, runs on the target system to check the current state of the target system in regard to the requested configuration associated with the package. The module may, for example, determine that one or more components needed for the configuration are already present on the target system, or that one or more additional or different components not included in the package are needed for the installation. If a component is already installed on the target system, the package may not re-install the component. If additional or different components are needed, the module may attempt to obtain the needed components for the installation”). Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-5, 8, and 11 are rejected under 35 U.S.C. 103 as being unpatentable over US 20140317253 A1 (hereinafter “Alford”), in view of US 20170177860 A1 (hereinafter “Suarez”). Regarding claim 1, Alford discloses: A software deployment system comprising (Paragraph [0014]): a modular update delivery module configured to: … - specify to which one or more mobile venues of a plurality of mobile venues the updated [package] is to be deployed (Paragraph [0021], “Target computer devices may include, but are not limited to, mainframes, server systems, desktop computers, personal computers, handheld or portable computing devices such as Personal Digital Assistants (PDAs), and so on. In general, target systems may include any computer device that is capable of network communications [mobile venues]”; Paragraph [0024], “Embodiments may be used to generate and deliver packages for installing a particular configuration, e.g. a particular application environment, on two or more different target system platforms. For example, a client may specify that a particular word processing application is to be installed on two different hardware platforms, one of which uses a 32-bit processor and the other a 64-bit processor [specify to which one or more mobile venues of a plurality of mobile venues the updates [package] is to be deployed]”) [Examiner’s remarks: Alford discloses specifying the installation of a specified package to a target computer device (mobile venue) with a specified configuration.]; 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 [packages] to run (Paragraph [0014], “The configuration management service may be accessed by a client to request that a particular configuration, e.g. a particular application environment, be installed on two or more different target system platforms. For example, a client may specify that a particular word processing application is to be installed on two different hardware platforms, one of which uses a 32-bit processor and the other a 64-bit processor [the container orchestrator configured to send a request to the modular update delivery module for a correct version of one or more [packages] to run]”; Paragraph [0031], “Application 142 may allow the client to specify or select a desired configuration, and may provide a communications interface to generate and send the configuration request to configuration management service 112 in one or more messages in accordance with configuration management interface 114. As another example, a client may use a browser 152 on client system 150 to specify a configuration to be installed on client system 150 or on some other target system or systems, such as on virtual machine 160 [a container orchestrator implemented on a requesting mobile venue]”) [Examiner’s remarks: An orchestrator on a client device (mobile venue) may make a request to a configuration management service for a specific version of a package (e.g. version for a specific processor type).]; and a venue update manager configured to: … - 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 (Paragraph [0014], “The configuration management service may be accessed by a client to request that a particular configuration, e.g. a particular application environment, be installed on two or more different target system platforms. For example, a client may specify that a particular word processing application is to be installed on two different hardware platforms, one of which uses a 32-bit processor and the other a 64-bit processor. The configuration management service may deliver a package to the first platform that may include components for implementing a configuration (e.g., an application environment) according to the first platform's particular requirements [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]”) [Examiner’s remarks: An order is received for installing a software, with a request for the service (word processing application) and requirements for the software (processor type).]; 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 values (Paragraph [0018], “When a client generates and sends a request to verify or update the configuration on a system, the configuration management service may access the stored configurations to verify that the configuration of the content on the system matches the stored configuration specification. If the configuration management service determines that the configuration of the system is not in accordance with the stored configuration specification, for example if a component specified by the stored configuration has been deleted from the system, the configuration management service may automatically generate an update package and send the package to the system to update or otherwise correct the configuration on the system”; Paragraph [0024], “Embodiments may be used to generate and deliver packages for installing a particular configuration, e.g. a particular application environment, on two or more different target system platforms. For example, a client may specify that a particular word processing application is to be installed on two different hardware platforms, one of which uses a 32-bit processor and the other a 64-bit processor”; Paragraph [0032], “Upon receiving a configuration request, configuration management service 112 may collect one or more components 130 necessary for the configuration and compile the components 130 into a package. Components 130 may include, but are not limited to, installers, applications, programs, software modules, drivers, data files, image files, scripts, plug-ins, or any other type of digital component that may be necessary or desired for installation on the target system”; Paragraph [0034], “Configuration management service 112 may generate a configuration specification according to the configuration request and store the configuration specification in configuration database 122 on data storage 120. … The stored configuration specifications may be used by the configuration management service 112, for example, to track configurations for clients and to verify installed configurations on target systems upon client request for verification” [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 values]) [Examiner’s remarks: Venue specifications are generated which are used for bundling, distribution and deployment (the packaging of components) for a specific target platform type.], wherein the modular update delivery module is further configured to: - receive, from the venue update manager, the venue specifications based on the ordered software (Paragraph [0014], “The configuration management service may be accessed by a client to request that a particular configuration, e.g. a particular application environment, be installed on two or more different target system platforms”; Paragraph [0019], “For example, a client may request installation or verification via a browser that generates service requests to the interface of the configuration management service in accordance with the client's input. Client input may include, but is not limited to, one or more of identification of target system(s), configuration specifications, and communications information for the target systems [receive, from the venue update manager, the venue specifications based on the ordered software]”) [Examiner’s remarks: A configuration (specification ) is received based on the ordered software.]; - receive, from the container orchestrator, the request for the correct version of one or more [packages] to run on the requesting mobile venue (Paragraph [0014], “The configuration management service may be accessed by a client to request that a particular configuration, e.g. a particular application environment, be installed on two or more different target system platforms”; Paragraph [0030], “For each received configuration request, the configuration management service 112 may build a specific package including one or more particular components 130 for implementing the particular configuration indicated by the configuration request on the particular target system” [receive, from the container orchestrator, the request for the correct version of one or more [packages] to run on the requesting mobile venue]) [Examiner’s remarks: The container requests the correct version of packages (packages with particular components) to run on a given target device (mobile venue).]; - generate a deployable [package] based on the venue specifications and the one or more [packages] to run on the requesting mobile venue, the deployable [package] including the updated [component] (Paragraph [0017], “The configuration management service may generate digital packages according to the specified configurations. The generated packages may be delivered to the target computer systems via the network according to the specified communications information. The delivered packages may then install the content, for example, one or more software, data, or other digital components, on the target computer systems in accordance with the specified configurations, and may perform other necessary or desired actions on the target systems to install the specified configuration”; Paragraph [0024], “Target systems may be heterogeneous and are not limited to any particular manufacturer, hardware set, operating system, computing environment, programming language, virtual machine implementation, and so on. In other words, embodiments may be used to generate and deliver packages of generic components for installation on generic target systems and for updates to installed configurations on target systems”) [Examiner’s remarks: A package is generated for deployment to a target system (venue) based on the venue specifications, and the packages may include updates (updated components).]; and - transmit to the requesting mobile venue the deployable [package], wherein the container orchestrator is further configured to (Paragraph [0017], “The configuration management service may generate digital packages according to the specified configurations. The generated packages may be delivered to the target computer systems via the network according to the specified communications information”): - 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 [package] on a specific environment of the requesting mobile venue (Paragraph [0033], “In one embodiment, a package may include a module that, once the package arrives on the target system, runs on the target system to check the current state of the target system in regard to the requested configuration associated with the package. The module may, for example, determine that one or more components needed for the configuration are already present on the target system, or that one or more additional or different components not included in the package are needed for the installation. If a component is already installed on the target system, the package may not re-install the component. If additional or different components are needed, the module may attempt to obtain the needed components for the installation”) [Examiner’s remarks: A component of the package compares the venue to the venue specifications and notes incompatibilities (engineering configuration) and the problem is resolved via a request for a compatible component.]; and - deploy the software on the requesting mobile venue using the deployable [package] and the engineering configuration (Paragraph [0033], “In one embodiment, a package may include a module that, once the package arrives on the target system, runs on the target system to check the current state of the target system in regard to the requested configuration associated with the package. The module may, for example, determine that one or more components needed for the configuration are already present on the target system, or that one or more additional or different components not included in the package are needed for the installation. If a component is already installed on the target system, the package may not re-install the component. If additional or different components are needed, the module may attempt to obtain the needed components for the installation”). Alford does not explicitly disclose: - Container - receive an updated container; - scan the updated container for vulnerabilities; - receive deployment characteristics of the updated container; and … - provide a catalog of available software services; However, Suarez discloses: - Container (Paragraph [0002], “Software containers can allow multiple applications to quickly launch and run within the respective user spaces without overhead associated with starting and maintaining separate virtual machines. Companies and individuals have turned to these software containers for automated application deployment on virtual machine instances being remotely hosted by distributed computing systems of computing resource service providers”) [Examiner’s remarks: Alford discloses using packages to deploy a plurality of components together to a target. Suarez discloses a common technique of packaging components as a container for deployment. One or ordinary skill in the art understands that the packages of Alford may be replaced by the containers of Suarez to achieve the present invention.] - receive an updated container (Paragraph [0026], “As illustrated in FIG. 1, the environment 100 may include a customer 166 who has built a container image 152 configured to run in a container instance 104. The customer 166 may upload the container image 152 to a container registry 102 through a container registry front-end service 114… In some cases, the container image 152 may comprise “layers” that correspond to steps in the build process of the container image 152. The container image 152 may be new software (e.g., a first version) or may be an update to one or more components of the previous version of the container image 152”) [Examiner’s remarks: A registry receives an container image which may be an updated version of an existing container image.]; - scan the updated container for vulnerabilities (Paragraph [0055], “For example, because container images in the repository are comprised of layers, if it is known that a layer has a security vulnerability, the security sweep of the present disclosure may scan container images in the repository looking for that particular layer [scan the updated container for vulnerabilities]”); - receive deployment characteristics of the updated container (Paragraph [0026], “In some examples, a “container image” may refer to metadata and one or more computer files corresponding to contents and/or structure of one or more software applications configured to execute in a software container”; Paragraph [0047], “In some examples, a “manifest” may refer to metadata about the container image as well as metadata about the set of layers that the container image is comprised of”) [Examiner’s remarks: Metadata or manifest information is receives which includes information on which layers of a container is to be used for deployment.]; and … - provide a catalog of available software services (Paragraph [0132], “In one example, a user, through a device operated by the user, might submit a search request for a certain type of item. In this case, the data store 1710 might access the user information 1716 to verify the identity of the user and can access the catalog detail information to obtain information about items of that type. The information then can be returned to the user, such as in a results listing on a web page that the user is able to view via a browser on the electronic client device 1702 [provide a catalog of available software services]”) [Examiner’s remarks: A catalog of available services can be presented on request.]; Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Suarez into the teachings of Alford to include “Container”, “receive an updated container”, “scan the updated container for vulnerabilities”, “receive deployment characteristics of the updated container”, and “provide a catalog of available software services”. As stated in Suarez, “Software containers can allow multiple applications to quickly launch and run within the respective user spaces without overhead associated with starting and maintaining separate virtual machines. Companies and individuals have turned to these software containers for automated application deployment on virtual machine instances being remotely hosted by distributed computing systems of computing resource service providers” (Paragraph [0002]). Container images simplify the deployment of a configuration by including all the necessary components for deploying, thereby reducing the complexity of ensuring all parts are compliant. Container images are a common tool for updates. Manipulating and ensuring safety of container images increases efficiency of updates. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates with use of container images. Regarding claim 2, the rejection of claim 1 is incorporated; and Alford does not explicitly disclose: - 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. However, Suarez discloses: - 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 (Paragraph [0026], “The customer 166 may upload the container image 152 to a container registry 102 through a container registry front-end service 114. From the container registry 102, the container image 152 may be served to the container instance 104 through the container registry front-end service 114 to be launched. …The container image 152 may be new software (e.g., a first version) or may be an update to one or more components of the previous version of the container image 152”) [Examiner’s remarks: A container registry is used to store container images which may include updated versions of old containers for installation.]. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Suarez into the teachings of Alford to include “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”. As stated in Suarez, “Software containers can allow multiple applications to quickly launch and run within the respective user spaces without overhead associated with starting and maintaining separate virtual machines. Companies and individuals have turned to these software containers for automated application deployment on virtual machine instances being remotely hosted by distributed computing systems of computing resource service providers” (Paragraph [0002]). Container image registries organize and make it easier to access containers for download. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates using containers with use of container image registries. Regarding claim 3, the rejection of claim 1 is incorporated; and Alford does not explicitly disclose: - wherein the modular update delivery module is further configured to provide a secrets storage configured to provide role-based access controls. However, Suarez discloses: - wherein the modular update delivery module is further configured to provide a secrets storage configured to provide role-based access controls (Paragraph [0029], “The repositories may be individual databases or may be stored in one or more data stores of a data storage service of the computing resource service provider. Each repository may have various associated roles and policies specifying access types and restricting access to the repository to entities authorized by the customer to access the repository”) [Examiner’s remarks: Suarez discloses having a storage (registry) where entities need to have a role with access to access the registry (role-based access controls).]. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Suarez into the teachings of Alford to include “wherein the modular update delivery module is further configured to provide a secrets storage configured to provide role-based access controls”. As stated in Suarez, “Software containers can allow multiple applications to quickly launch and run within the respective user spaces without overhead associated with starting and maintaining separate virtual machines. Companies and individuals have turned to these software containers for automated application deployment on virtual machine instances being remotely hosted by distributed computing systems of computing resource service providers” (Paragraph [0002]). Container image registries organize and make it easier to access containers for download. Role based secrets storage ensures that only those with proper access can edit or access a registry, allowing for more secure deployments by limiting access. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates using containers with use of container image registries with role-based access. Regarding claim 4, the rejection of claim 1 is incorporated; and Alford further discloses: - 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 (Paragraph [0041], “A method similar to that described above in reference to FIGS. 2B and 2C may be used to add or remove components from an installed configuration. The client may generate a configuration change request that specifies component(s) to be added to or removed from an installed configuration 172. The configuration change request may be sent to the configuration management service 112 in accordance with the configuration management interface 114. The configuration management service 112 may generate an update package 164 in accordance with the configuration change request, and may modify the stored configuration specification corresponding to the installed configuration 172 accordingly. The update package 164 may be sent to the target system 170, and installed or run on the target system 170 to effect the requested changes in the installed configuration 172”) [Examiner’s remarks: A configuration is monitored and when changed, an update package for updating the component is sent to the client (mobile venue).]. Regarding claim 5, the rejection of claim 1 is incorporated; and Alford further discloses: - wherein the container orchestrator is configured to generate the 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 (Paragraph [0033], “In one embodiment, a package may include a module that, once the package arrives on the target system, runs on the target system to check the current state of the target system in regard to the requested configuration associated with the package. The module may, for example, determine that one or more components needed for the configuration are already present on the target system, or that one or more additional or different components not included in the package are needed for the installation. If a component is already installed on the target system, the package may not re-install the component. If additional or different components are needed, the module may attempt to obtain the needed components for the installation”) [Examiner’s remarks: The package module uses a change overlay of the configuration (specification) to determine at least one aspect that isn’t compatible (e.g. missing components) and makes modifications (obtains the component) to make the software compatible with the venue.]. Regarding claim 8, the rejection of claim 1 is incorporated; and Alford does not explicitly disclose: - wherein the modular update delivery module is implemented on a server that is different from the mobile venue on which the container orchestrator is implemented. However, Suarez discloses: - wherein the modular update delivery module is implemented on a server that is different from the mobile venue on which the container orchestrator is implemented (Paragraph [0107], “For example, some or all of process 1300 may be performed by any suitable system, such as a server in a data center, by various components of the environment 1700 described in conjunction with FIG. 17, such as the web server 1706 or the application server 1708, by multiple computing devices in a distributed system of a computing resource service provider, or by any electronic client device such as the electronic client device 1702. The process 1300 includes a series of operations wherein a request is received to store a software image, a set of layers are determined to be stored for the container image, a manifested generated, and the layers in the manifest are stored as the container image”) [Examiner’s remarks: As discussed in claim 1, Alford discloses requests for a configuration being made using a client device. Suarez discloses the processing of a request being done an a server that is not the client. One of ordinary skill in the art may combine the teachings of Alford and Suarez to teach a server for the modular update delivery module being different than that of the client.]. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Suarez into the teachings of Alford to include “wherein the modular update delivery module is implemented on a server that is different from the mobile venue on which the container orchestrator is implemented”. As stated in Suarez, “Software containers can allow multiple applications to quickly launch and run within the respective user spaces without overhead associated with starting and maintaining separate virtual machines. Companies and individuals have turned to these software containers for automated application deployment on virtual machine instances being remotely hosted by distributed computing systems of computing resource service providers” (Paragraph [0002]). Container images simplify the deployment of a configuration by including all the necessary components for deploying, thereby reducing the complexity of ensuring all parts are compliant. Container images are a common tool for updates. Deploying often involves sending software from a server to a separate server to reach a client. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates with use of different servers. Regarding claim 11, the rejection of claim 9 is incorporated; and Alford does not explicitly disclose: - wherein the individual components are delivered in one or more containers. However, Suarez discloses: - wherein the individual components are delivered in one or more containers (Paragraph [0022], “In response to receiving the second request, the system may obtain the manifest corresponding to stored container image, and retrieve the set of files for the stored container image as indicated by the manifest. As a result of retrieving the set of files of the layers comprising the container image, the system may cause the container image to be launched as the running software container in the container instance of the customer”) [Examiner’s remarks: As discussed in the rejection of claim 9, Alford discloses use of packages with all the necessary components. Suarez discloses using container, which contain layers with the specified components.]. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Suarez into the teachings of Alford to include “wherein the individual components are delivered in one or more containers”. As stated in Suarez, “Software containers can allow multiple applications to quickly launch and run within the respective user spaces without overhead associated with starting and maintaining separate virtual machines. Companies and individuals have turned to these software containers for automated application deployment on virtual machine instances being remotely hosted by distributed computing systems of computing resource service providers” (Paragraph [0002]). Container images simplify the deployment of a configuration by including all the necessary components for deploying, thereby reducing the complexity of ensuring all parts are compliant. Container images are a common tool for updates. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates with use of container images. Claims 6 and 7 are rejected under 35 U.S.C. 103 as being unpatentable over US 20140317253 A1 (hereinafter “Alford”), in view of US 20170177860 A1 (hereinafter “Suarez”), further in view of US 20040106404 A1 (hereinafter “Gould”). Regarding claim 6, the rejection of claim 1 is incorporated; and the combination of Alford and Suarez does not explicitly disclose: - wherein the requesting mobile venue is a mobile vehicle. However, Gould discloses: - wherein the requesting mobile venue is a mobile vehicle (Paragraph [0010], “In a preferred embodiment, the system provides an aircraft mounted computer/server in communication with a plurality of aircraft systems. The computer/server collects, stores and/or distributes the aircraft hardware and software actual configuration identity. The computer/server also stores the loadable software parts… By remotely accessing the computer/server, an authorized system user can schedule maintenance operations, query the actual configuration identity of the aircraft, monitor systems' parameters and status, run some system tests, load software to update the aircraft system functionality, make log book entries, and manage the physical aircraft”) [Examiner’s remarks: Loading software for updates is initiated by a computer/server on and aircraft, which is a mobile vehicle.]. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Gould into the combined teachings of Alford and Suarez to include “wherein the requesting mobile venue is a mobile vehicle”. As stated in Gould, “A need therefore exists for a system which provides electronic transfer of information to and from each individual aircraft which also provides real-time access to a greater number of people in the information stream” (Paragraph [0009]). Alford, Suarez, and Gould all deal with updating devices or servers remotely. The aircrafts of Gould are a device which contains a server which may utilize the update process of Alford and Suarez. One of ordinary skill in the art understands that updating a server in an aircraft is analogous to updating a general server. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates to updating a mobile vehicle. Regarding claim 7, the rejection of claim 6 is incorporated; and Alford does not explicitly disclose: - wherein the updated container is configured to be deployed on a server located on the mobile vehicle. However, Suarez discloses: - wherein the updated container is configured to be deployed (Paragraph [0022], “In response to receiving the second request, the system may obtain the manifest corresponding to stored container image, and retrieve the set of files for the stored container image as indicated by the manifest. As a result of retrieving the set of files of the layers comprising the container image, the system may cause the container image to be launched as the running software container in the container instance of the customer”)… Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Suarez into the teachings of Alford to include “wherein the updated container is configured to be deployed”. As stated in Suarez, “Software containers can allow multiple applications to quickly launch and run within the respective user spaces without overhead associated with starting and maintaining separate virtual machines. Companies and individuals have turned to these software containers for automated application deployment on virtual machine instances being remotely hosted by distributed computing systems of computing resource service providers” (Paragraph [0002]). Container images simplify the deployment of a configuration by including all the necessary components for deploying, thereby reducing the complexity of ensuring all parts are compliant. Container images are a common tool for updates. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates with use of container images. The combination of Alford and Suarez does not explicitly disclose: - to be deployed on a server located on the mobile vehicle. However, Gould discloses: - to be deployed on a server located on the mobile vehicle (Paragraph [0010], “In a preferred embodiment, the system provides an aircraft mounted computer/server in communication with a plurality of aircraft systems. The computer/server collects, stores and/or distributes the aircraft hardware and software actual configuration identity. The computer/server also stores the loadable software parts… By remotely accessing the computer/server, an authorized system user can schedule maintenance operations, query the actual configuration identity of the aircraft, monitor systems' parameters and status, run some system tests, load software to update the aircraft system functionality, make log book entries, and manage the physical aircraft”). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Gould into the combined teachings of Alford and Suarez to include “to be deployed on a server located on the mobile vehicle”. As stated in Gould, “A need therefore exists for a system which provides electronic transfer of information to and from each individual aircraft which also provides real-time access to a greater number of people in the information stream” (Paragraph [0009]). Alford, Suarez, and Gould all deal with updating devices or servers remotely. The aircrafts of Gould are a device which contains a server which may utilize the update process of Alford and Suarez. One of ordinary skill in the art understands that updating a server in an aircraft is analogous to updating a general server. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates to updating a server on a mobile vehicle. Claims 10 and 12 are rejected under 35 U.S.C. 103 as being unpatentable over US 20140317253 A1 (hereinafter “Alford”), in view of US 20040106404 A1 (hereinafter “Gould”). Regarding claim 10, the rejection of claim 9 is incorporated; and Alford does not explicitly disclose: - wherein the mobile venue is an aircraft. However, Gould discloses: - wherein the mobile venue is an aircraft (Paragraph [0010], “In a preferred embodiment, the system provides an aircraft mounted computer/server in communication with a plurality of aircraft systems. The computer/server collects, stores and/or distributes the aircraft hardware and software actual configuration identity. The computer/server also stores the loadable software parts… By remotely accessing the computer/server, an authorized system user can schedule maintenance operations, query the actual configuration identity of the aircraft, monitor systems' parameters and status, run some system tests, load software to update the aircraft system functionality, make log book entries, and manage the physical aircraft”). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Gould into the teachings of Alford to include “wherein the mobile venue is an aircraft”. As stated in Gould, “A need therefore exists for a system which provides electronic transfer of information to and from each individual aircraft which also provides real-time access to a greater number of people in the information stream” (Paragraph [0009]). Alford and Gould all deal with updating devices or servers remotely. The aircrafts of Gould are a device which contains a server which may utilize the update process of Alford. One of ordinary skill in the art understands that updating a server in an aircraft is analogous to updating a general server. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates to updating an aircraft. Regarding claim 12, the rejection of claim 9 is incorporated; and Alford does not explicitly disclose: - wherein the venue specification is configured to ensure compliance with legal regulations related to the mobile venue. However, Gould discloses: - wherein the venue specification is configured to ensure compliance with legal regulations related to the mobile venue (Paragraph [0004], “Commercial airlines are required to retain and maintain an authorized configuration of each aircraft. An aircraft's configuration is herein defined as the identity of each software and hardware part used on the aircraft. An authorized configuration of each aircraft is required in order for the aircraft to be flight approved by regulatory bodies”). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Gould into the teachings of Alford to include “wherein the venue specification is configured to ensure compliance with legal regulations related to the mobile venue”. As stated in Gould, “A need therefore exists for a system which provides electronic transfer of information to and from each individual aircraft which also provides real-time access to a greater number of people in the information stream” (Paragraph [0009]). Alford and Gould all deal with updating devices or servers remotely. One of ordinary skill in the art understands that vehicles should comply with the legal regulations at least for safety reasons. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates with compliance of legal regulations. Claims 13 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over US 20140317253 A1 (hereinafter “Alford”), in view of US 20190171436 A1 (hereinafter “Shivanna”). Regarding claim 13, the rejection of claim 9 is incorporated; and Alford does not explicitly disclose: - wherein the venue specification represents changes to a base configuration to accommodate different features or capabilities of the mobile venue. However, Shivanna discloses: - wherein the venue specification represents changes to a base configuration to accommodate different features or capabilities of the mobile venue (Paragraph [0022], “At block 206, the system 102 may create subcategory sets of the common set of installed firmware. In other words, the system 102 may subcategorize the common set of installed firmware. In an example, the subcategorization may be based on the type of firmware and/or the component associated with the firmware. For example, subcategories may include BMC firmware, programmable interface controller (PIC) firmware, I/O firmware, core system firmware (such as BIOS, unified extensible firmware interface (UEFI), or the like), hard disk drive (HDD) firmware, solid state drive (SSD) firmware, non-volatile memory express (NVMe) firmware, management engine (ME) firmware, or the like. In another example, the inventory and install sets may include drivers and various other applications, such as agents and utilities. In such examples, the drivers and other applications may be common across all servers. In such cases, the subcategories may include agents, utilities (such as diagnostics or array configuration), and drivers (per device). In another example, the system may take other factors into account when determining subcategories. For example, the system may consider whether a specific firmware has a dependency on another firmware. In such examples, the specific firmware may be grouped with the firmware that the specific firmware is dependent on. In another example, firmware that may result in a system restart may be grouped together. The system 102 may consider other factors when creating subcategories”) [Examiner’s remarks: Shivanna discloses a base configuration (common set) on top of which different features or capabilities can be build (subcategories). The Subcategories can be based on type of firmware or used agents and utilities.]. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Shivanna into the teachings of Alfred to include “wherein the venue specification represents changes to a base configuration to accommodate different features or capabilities of the mobile venue”. As stated in Shivanna, “In such examples, those servers may be grouped together and an inventory taken once for the entire group of servers sharing the same (e.g. common) fingerprint. In an example, thousands or tens of thousands of servers may share the same configuration. The servers may share the same or a common fingerprint, based on each server's configuration. Rather than taking an inventory of each server, inventory may be taken once for all servers” (Paragraph [0008]). Shivanna deals in the analogous art of updating software in servers. By grouping common configurations, time for taking inventory of each server is decreased. Then building on subsets allows for more specificity, while still allowing for reduced time in inventory and later updating. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates with use of base and additional configurations. Regarding claim 14, the rejection of claim 13 is incorporated; and Alford does not explicitly disclose: - wherein the base configuration represents a generic configuration for a plurality of disparate mobile venues. However, Shivanna discloses: - wherein the base configuration represents a generic configuration for a plurality of disparate mobile venues (Paragraph [0008], “Many of the plurality of servers may have the same fingerprint (as in, a shared or common fingerprint). In such examples, those servers may be grouped together and an inventory taken once for the entire group of servers sharing the same (e.g. common) fingerprint. In an example, thousands or tens of thousands of servers may share the same configuration. The servers may share the same or a common fingerprint, based on each server's configuration. Rather than taking an inventory of each server, inventory may be taken once for all servers”) [Examiner’s remarks: The base configuration (common configuration) is a configuration shared among multiple servers (plurality of disparate mobile venues).]. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Shivanna into the teachings of Alfred to include “wherein the base configuration represents a generic configuration for a plurality of disparate mobile venues”. As stated in Shivanna, “In such examples, those servers may be grouped together and an inventory taken once for the entire group of servers sharing the same (e.g. common) fingerprint. In an example, thousands or tens of thousands of servers may share the same configuration. The servers may share the same or a common fingerprint, based on each server's configuration. Rather than taking an inventory of each server, inventory may be taken once for all servers” (Paragraph [0008]). Shivanna deals in the analogous art of updating software in servers. By grouping common configurations, time for taking inventory of each server is decreased. It also saves updating time by grouping similar servers together. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates with use of base configurations. Claims 15, 17, 19, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over US 20140317253 A1 (hereinafter “Alford”), in view of US 20170177860 A1 (hereinafter “Suarez”), further in view of US 20190171436 A1 (hereinafter “Shivanna”). Regarding claim 15, Alford discloses: A method for deploying software on one or more mobile venues, the method comprising (Paragraph [0014]): receiving a request for new software for a plurality of mobile venues (Paragraph [0014], “The configuration management service may be accessed by a client to request that a particular configuration, e.g. a particular application environment, be installed on two or more different target system platforms. For example, a client may specify that a particular word processing application is to be installed on two different hardware platforms, one of which uses a 32-bit processor and the other a 64-bit processor. The configuration management service may deliver a package to the first platform that may include components for implementing a configuration (e.g., an application environment) according to the first platform's particular requirements [receiving a request for new software for a plurality of mobile venues]”) [Examiner’s remarks: An order is received for installing a software, with a request for the service (word processing application) and requirements for the software (processor type).]; receiving software based on the request, the software not specific to at least one of the mobile venues (Paragraph [0024], “In other words, embodiments may be used to generate and deliver packages of generic components for installation on generic target systems and for updates to installed configurations on target systems”); …wherein the venue specification is configured to enable bundling, distribution, and deployment of software to be installed on the plurality of mobile venues and wherein the venue specification is specific to a class of mobile venues to which the plurality of mobile values belongs (Paragraph [0018], “When a client generates and sends a request to verify or update the configuration on a system, the configuration management service may access the stored configurations to verify that the configuration of the content on the system matches the stored configuration specification. If the configuration management service determines that the configuration of the system is not in accordance with the stored configuration specification, for example if a component specified by the stored configuration has been deleted from the system, the configuration management service may automatically generate an update package and send the package to the system to update or otherwise correct the configuration on the system”; Paragraph [0024], “Embodiments may be used to generate and deliver packages for installing a particular configuration, e.g. a particular application environment, on two or more different target system platforms. For example, a client may specify that a particular word processing application is to be installed on two different hardware platforms, one of which uses a 32-bit processor and the other a 64-bit processor”; Paragraph [0032], “Upon receiving a configuration request, configuration management service 112 may collect one or more components 130 necessary for the configuration and compile the components 130 into a package. Components 130 may include, but are not limited to, installers, applications, programs, software modules, drivers, data files, image files, scripts, plug-ins, or any other type of digital component that may be necessary or desired for installation on the target system”; Paragraph [0034], “Configuration management service 112 may generate a configuration specification according to the configuration request and store the configuration specification in configuration database 122 on data storage 120. … The stored configuration specifications may be used by the configuration management service 112, for example, to track configurations for clients and to verify installed configurations on target systems upon client request for verification” [wherein the venue specification is configured to enable bundling, distribution, and deployment of software to be installed on the plurality of mobile venues and wherein the venue specification is specific to a class of mobile venues to which the plurality of mobile values belongs]) [Examiner’s remarks: Venue specifications are generated which are used for bundling, distribution and deployment (the packaging of components) for a specific target platform type.]; - for each mobile venue of the plurality of mobile venues, delivering one or more [packages] with the software based on the venue specification specific to the mobile venue (Paragraph [0017], “The configuration management service may generate digital packages according to the specified configurations. The generated packages may be delivered to the target computer systems via the network according to the specified communications information. The delivered packages may then install the content, for example, one or more software, data, or other digital components, on the target computer systems in accordance with the specified configurations, and may perform other necessary or desired actions on the target systems to install the specified configuration”; Paragraph [0024], “Target systems may be heterogeneous and are not limited to any particular manufacturer, hardware set, operating system, computing environment, programming language, virtual machine implementation, and so on. In other words, embodiments may be used to generate and deliver packages of generic components for installation on generic target systems and for updates to installed configurations on target systems”) [Examiner’s remarks: A package is generated for deployment to a plurality of target system (venue) based on the venue specifications.]; - for each mobile venue of the plurality of mobile venues, generating an engineering configuration based on converting the venue specification using one or more server specific configurations for the mobile venue, wherein the engineering configuration is configured to enable deployment of software from the deployable [package] on a specific environment of the mobile venue (Paragraph [0014], “The configuration management service may be accessed by a client to request that a particular configuration, e.g. a particular application environment, be installed on two or more different target system platforms. For example, a client may specify that a particular word processing application is to be installed on two different hardware platforms, one of which uses a 32-bit processor and the other a 64-bit processor. The configuration management service may deliver a package to the first platform that may include components for implementing a configuration (e.g., an application environment) according to the first platform's particular requirements; Paragraph [0033], “In one embodiment, a package may include a module that, once the package arrives on the target system, runs on the target system to check the current state of the target system in regard to the requested configuration associated with the package. The module may, for example, determine that one or more components needed for the configuration are already present on the target system, or that one or more additional or different components not included in the package are needed for the installation. If a component is already installed on the target system, the package may not re-install the component. If additional or different components are needed, the module may attempt to obtain the needed components for the installation”) [Examiner’s remarks: A component of the package compares the venue to the venue specifications and notes incompatibilities (engineering configuration) and the problem is resolved via a request for a compatible component.]; and - for each mobile venue of the plurality of mobile venues, deploying the software delivered to the mobile venue using the one or more [packages] and the generated engineering configuration for the mobile venue (Paragraph [0014], “The configuration management service may be accessed by a client to request that a particular configuration, e.g. a particular application environment, be installed on two or more different target system platforms. For example, a client may specify that a particular word processing application is to be installed on two different hardware platforms, one of which uses a 32-bit processor and the other a 64-bit processor. The configuration management service may deliver a package to the first platform that may include components for implementing a configuration (e.g., an application environment) according to the first platform's particular requirements; Paragraph [0033], “In one embodiment, a package may include a module that, once the package arrives on the target system, runs on the target system to check the current state of the target system in regard to the requested configuration associated with the package. The module may, for example, determine that one or more components needed for the configuration are already present on the target system, or that one or more additional or different components not included in the package are needed for the installation. If a component is already installed on the target system, the package may not re-install the component. If additional or different components are needed, the module may attempt to obtain the needed components for the installation”). Alford does not explicitly disclose: - Containers However, Suarez discloses: - Containers (Paragraph [0002], “Software containers can allow multiple applications to quickly launch and run within the respective user spaces without overhead associated with starting and maintaining separate virtual machines. Companies and individuals have turned to these software containers for automated application deployment on virtual machine instances being remotely hosted by distributed computing systems of computing resource service providers”) [Examiner’s remarks: Alford discloses using packages to deploy a plurality of components together to a target. Suarez discloses a common technique of packaging components as a container for deployment. One or ordinary skill in the art understands that the packages of Alford may be replaced by the containers of Suarez to achieve the present invention.] Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Suarez into the teachings of Alford to include “Container” As stated in Suarez, “Software containers can allow multiple applications to quickly launch and run within the respective user spaces without overhead associated with starting and maintaining separate virtual machines. Companies and individuals have turned to these software containers for automated application deployment on virtual machine instances being remotely hosted by distributed computing systems of computing resource service providers” (Paragraph [0002]). Container images simplify the deployment of a configuration by including all the necessary components for deploying, thereby reducing the complexity of ensuring all parts are compliant. Container images are a common tool for updates. Manipulating and ensuring safety of container images increases efficiency of updates. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates with use of container images. The combination of Alford and Suarez does not explicitly disclose: generating a venue specification for the software, the venue specification based on a base configuration that is generic to the plurality of mobile venues and at least one configuration change overlay,… However, Shivanna discloses: generating a venue specification for the software, the venue specification based on a base configuration that is generic to the plurality of mobile venues and at least one configuration change overlay (Paragraph [0022], “At block 206, the system 102 may create subcategory sets of the common set of installed firmware. In other words, the system 102 may subcategorize the common set of installed firmware. In an example, the subcategorization may be based on the type of firmware and/or the component associated with the firmware. For example, subcategories may include BMC firmware, programmable interface controller (PIC) firmware, I/O firmware, core system firmware (such as BIOS, unified extensible firmware interface (UEFI), or the like), hard disk drive (HDD) firmware, solid state drive (SSD) firmware, non-volatile memory express (NVMe) firmware, management engine (ME) firmware, or the like. In another example, the inventory and install sets may include drivers and various other applications, such as agents and utilities. In such examples, the drivers and other applications may be common across all servers. In such cases, the subcategories may include agents, utilities (such as diagnostics or array configuration), and drivers (per device). In another example, the system may take other factors into account when determining subcategories. For example, the system may consider whether a specific firmware has a dependency on another firmware. In such examples, the specific firmware may be grouped with the firmware that the specific firmware is dependent on. In another example, firmware that may result in a system restart may be grouped together. The system 102 may consider other factors when creating subcategories”) [Examiner’s remarks: Shivanna discloses a base configuration (common set) on top of which different features or capabilities can be build (subcategories). The Subcategories can be based on type of firmware or used agents and utilities.]... Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Shivanna into the combined teachings of Alfred and Suarez to include “generating a venue specification for the software, the venue specification based on a base configuration that is generic to the plurality of mobile venues and at least one configuration change overlay”. As stated in Shivanna, “In such examples, those servers may be grouped together and an inventory taken once for the entire group of servers sharing the same (e.g. common) fingerprint. In an example, thousands or tens of thousands of servers may share the same configuration. The servers may share the same or a common fingerprint, based on each server's configuration. Rather than taking an inventory of each server, inventory may be taken once for all servers” (Paragraph [0008]). Shivanna deals in the analogous art of updating software in servers. By grouping common configurations, time for taking inventory of each server is decreased. Then building on subsets allows for more specificity, while still allowing for reduced time in inventory and later updating. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates with use of base and additional configurations. Regarding claim 17, the rejection of claim 15 is incorporated; and Alford further discloses: - wherein the request for new software comprises a combination of one or more product entities (Paragraph [0020], “Packages may include various combinations of components which may include, but are not limited to, installers, applications, programs, software modules, drivers, data files, image files, scripts, plug-ins, references to external resources which may be accessed by the target systems, or any other type of digital component that may be necessary or desired for installation on a target system. The configuration management service may construct a package from components obtained or generated locally and/or from components obtained from remote locations, e.g. from other servers or locations on an intranet or on the internet”) [Examiner’s remarks: The request for the new software (package) includes product entities (ex. Installers, applications, programs) and other digital programs that are needed to the installation.]. Regarding claim 19, the rejection of claim 15 is incorporated; and Alford further discloses: - wherein the received software is not compatible with at least one of the plurality of mobile venues and the method further comprises employing the engineering configuration to modify at least one aspect of the received software to render the software compatible with the at least one of the plurality of mobile venues (Paragraph [0033], “In one embodiment, a package may include a module that, once the package arrives on the target system, runs on the target system to check the current state of the target system in regard to the requested configuration associated with the package. The module may, for example, determine that one or more components needed for the configuration are already present on the target system, or that one or more additional or different components not included in the package are needed for the installation. If a component is already installed on the target system, the package may not re-install the component. If additional or different components are needed, the module may attempt to obtain the needed components for the installation”) [Examiner’s remarks: An configuration is used to realize that there are differing or missing components that render the software incompatible, and modification (receiving missing software) is performed to make the software compatible.]. Regarding claim 20, the rejection of claim 15 is incorporated; and Alford does not explicitly disclose: - further comprising analyzing the received software to detect vulnerabilities or security issues related to each of the plurality of mobile venues. However, Suarez discloses: - further comprising analyzing the received software to detect vulnerabilities or security issues related to each of the plurality of mobile venues (Paragraph [0055], “In some embodiments, the system of the present disclosure is configured to perform security sweeps based on security vulnerabilities, licensing, or other compliance issues. For example, because container images in the repository are comprised of layers, if it is known that a layer has a security vulnerability, the security sweep of the present disclosure may scan container images in the repository looking for that particular layer. If the security sweep finds the particular version of the particular layer within a container image, it may flag it for some further security action”) [Examiner’s remarks: The received software is scanned for potential vulnerabilities.]. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Suarez into the teachings of Alford to include “further comprising analyzing the received software to detect vulnerabilities or security issues related to each of the plurality of mobile venues”. As stated in Suarez, “Software containers can allow multiple applications to quickly launch and run within the respective user spaces without overhead associated with starting and maintaining separate virtual machines. Companies and individuals have turned to these software containers for automated application deployment on virtual machine instances being remotely hosted by distributed computing systems of computing resource service providers” (Paragraph [0002]). Scanning for vulnerabilities ensures that unsafe software does not make it into a vehicle update which may cause safety issues. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates with use of container images. Claims 16 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over US 20140317253 A1 (hereinafter “Alford”), in view of US 20170177860 A1 (hereinafter “Suarez”), further in view of US 20190171436 A1 (hereinafter “Shivanna”), further in view of US 20040106404 A1 (hereinafter “Gould”). Regarding claim 16, the rejection of claim 15 is incorporated; and the combination of Alford, Suarez, and Shivanna does not explicitly disclose: - wherein at least one of the plurality of mobile venues is an aircraft. However, Gould discloses: - wherein at least one of the plurality of mobile venues is an aircraft (Paragraph [0010], “In a preferred embodiment, the system provides an aircraft mounted computer/server in communication with a plurality of aircraft systems. The computer/server collects, stores and/or distributes the aircraft hardware and software actual configuration identity. The computer/server also stores the loadable software parts… By remotely accessing the computer/server, an authorized system user can schedule maintenance operations, query the actual configuration identity of the aircraft, monitor systems' parameters and status, run some system tests, load software to update the aircraft system functionality, make log book entries, and manage the physical aircraft”). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Gould into the combined teachings of Alford, Suarez, and Shivanna to include “wherein at least one of the plurality of mobile venues is an aircraft”. As stated in Gould, “A need therefore exists for a system which provides electronic transfer of information to and from each individual aircraft which also provides real-time access to a greater number of people in the information stream” (Paragraph [0009]). Alford, Suarez, and Gould all deal with updating devices or servers remotely. The aircrafts of Gould are a device which contains a server which may utilize the update process of Alford and Suarez. One of ordinary skill in the art understands that updating a server in an aircraft is analogous to updating a general server. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates to updating an aircraft. Regarding claim 18, the rejection of claim 15 is incorporated; and the combination of Alford, Suarez, and Shivanna does not explicitly disclose: wherein the venue specification is configured to ensure compliance with legal regulations specific to the mobile venue. However, Gould discloses: - wherein the venue specification is configured to ensure compliance with legal regulations specific to the mobile venue (Paragraph [0004], “Commercial airlines are required to retain and maintain an authorized configuration of each aircraft. An aircraft's configuration is herein defined as the identity of each software and hardware part used on the aircraft. An authorized configuration of each aircraft is required in order for the aircraft to be flight approved by regulatory bodies”). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Gould into the combined teachings of Alford, Suarez, and Shivanna to include “wherein the venue specification is configured to ensure compliance with legal regulations specific to the mobile venue”. As stated in Gould, “A need therefore exists for a system which provides electronic transfer of information to and from each individual aircraft which also provides real-time access to a greater number of people in the information stream” (Paragraph [0009]). Alford, Suarez, and Gould all deal with updating devices or servers remotely. One of ordinary skill in the art understands that vehicles should comply with the legal regulations at least for safety reasons. Therefore, it would be obvious to one of ordinary skill in the art to combine modular device updates with compliance of legal regulations. Pertinent Prior Art The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. - US 20130198737 A1 discloses and installation manager which ensures that requirements are satisfied for a computational component before installation. - US 9003387 B2 discloses software updates configured for specific computer hosts. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to VIVIAN WEIJIA DUAN whose telephone number is (703)756-5442. The examiner can normally be reached Monday-Friday 8:30AM-5PM. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Wei Y Mui can be reached at (571) 272-3708. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /V.W.D./Examiner, Art Unit 2191 /WEI Y MUI/Supervisory Patent Examiner, Art Unit 2191
Read full office action

Prosecution Timeline

Feb 29, 2024
Application Filed
Apr 24, 2026
Non-Final Rejection mailed — §102, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12681699
USER INTERFACE PLATFORM INTEGRATED-DEVELOPMENT SYSTEM AND METHOD HAVING MICROSERVICE ARCHITECTURE
2y 9m to grant Granted Jul 14, 2026
Patent 12619405
METHOD AND SYSTEM FOR INCREMENTAL FUNCTIONAL APPROACH-BASED DATAFLOW ANALYSIS
2y 8m to grant Granted May 05, 2026
Patent 12541357
Operating System Upgrading Method, Electronic Device, Storage Medium, and Chip System
2y 7m to grant Granted Feb 03, 2026
Patent 12536005
TRANSFORMING A JAVA PROGRAM USING A SYMBOLIC DESCRIPTION LANGUAGE MODEL
2y 11m to grant Granted Jan 27, 2026
Patent 12498914
ORCHESTRATION OF SOFTWARE RELEASES ON A CLOUD PLATFORM
2y 10m to grant Granted Dec 16, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
64%
Grant Probability
99%
With Interview (+55.0%)
2y 8m (~3m remaining)
Median Time to Grant
Low
PTA Risk
Based on 14 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month