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 .
Claims 1, 6, 10, 15, 19, and 23 are currently amended. No claims have been canceled. No new claims have been added. Claims 1-25 are currently pending for examination.
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 9/18/2026 has been entered.
Response to Arguments
As per applicant’s arguments, 10-12, that the cited prior art of record does not disclose various elements of the amended independent claims, the examiner has carefully considered these arguments. D’innocenzo was not relied upon to disclose a security evaluation or validation of compliance with a security policy, and as such, the arguments regarding D’innocenzo are moot. However, regarding the arguments that Darji does not disclose the security evaluation of the amended limitations of the independent claims, the examiner concedes. As such, newly applied prior art of record, Veselov (US 11216563 B1), is relied upon to disclose the security evaluation of the amended independent claims; as well as the amended limitations of claims 6 and 15. Accordingly, the rejection of the instant application under 35 USC 103 is maintained.
Claim Rejections - 35 USC § 103
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, 2, 10, 11, 16, 19, 20, 23, and 24 are rejected under 35 U.S.C. 103 as being unpatentable over D'Innocenzo (US 20230142198 A1) in view of Veselov (US 11216563 B1).
As per claim 1, D’Innocenzo discloses:
A method for processing of a container software package for use in a development platform of edge computing hardware, comprising: receiving, at the development platform from a remote location, package data for a deployment of one or more containers, the package data including a configuration for the one or more containers to be imported into the development platform (“In some embodiments, the present disclosure may be implemented in a mobile edge computing (MEC) environment implemented in conjunction with a 4G, 5G, or other cellular network. MEC is a type of edge computing that uses cellular networks and 5G and enables a data center to extend cloud services to local deployments using a distributed architecture that provide federated options for local and remote data and control management.”, 0029 ;"FIG. 2 illustrates a Kubernetes control plane 222 which is configured to receive and implement the desired state information for a deployment. In an embodiment, the files that describe the desired set of Kubernetes resources can be defined by a Helm chart 205 that contains input metadata 210. The control plane 222 may receive as input metadata including the API, entity URL or identifier, access credentials, desired states, and other information needed to deploy a service at cluster 230.", 0030 ; "Helm charts are often used to define configurations for a given deployment.", 0002 ; Examiners Note: a Helm chart equates to package data for a container )
extracting the configuration for the one or more containers from the package data (“The schema files from all the Helm charts may be parsed and the “exposedName” tokens may be extracted. A relationship map may be created (e.g., “exposedName”<->backend-value). This will be one to many. Customized input data for all “exposedName” values in the relationship map may be provided.”, 0017 ; Examiner Note: a relationship map equates to a configuration)
Although D’Innocenzo discloses the above limitations of claim 1, they do not disclose them within a development platform; nor do they disclose validating compliance with a security policy.
However, Veselov discloses:
parsing the package data to generate one or more resource objects corresponding to one or more resources specified by the package data (“ To configure the second logical volume, the one or more hardware computing devices may be further configured to execute specific computer-executable instructions that upon execution cause the one or more hardware computing devices to: determine, based on one or both of the first data and an identifier of the target virtual machine, a template configuration used to instantiate the target virtual machine from the first logical volume; obtain the plurality of data files from the first data; combine the template configuration with the plurality of data files to create, in the second logical volume as the representation of the first computing resource, a second virtual machine”, col.23, lines 3-14 ; Examiner Note: the determining of a template configuration, which is necessary to create the second volume representing the resource, equates to parsing the package. The data file equates to package data)
performing a security evaluation of the one or more containers, the one or more resource objects, and the configuration for the one or more containers, to validate compliance with a security policy of the development platform (“FIG. 4 illustrates an example method 400 of performing a security assessment of a target virtual machine (VM) in a computing environment like the example computing environments 300, 350 of FIGS. 3A-B. At step 402, the scanning service may receive a signal to execute the security assessment of the target virtual machine, as described above with respect to FIG. 2.”, col.16, lines 15-21 ; “The snapshot storage service 108 may operate as a key value store that associates data objects with identifiers of the data objects that may be used by the customer to retrieve or perform other operations in connection with the data objects stored by the snapshot storage service 108. ; The scanning service 110 performs the desired security assessment using the snapshot data 146. For example, the scanning service 110 may obtain the snapshot data 146 from the snapshot storage service 146 and may process the snapshot data 146 to generate one or more assessment results.”, col.8, lines 9-18 ; “The security assessment may include an evaluation of a virtual machine configuration”, col.21, lines 61-62 ; “The scanning service 510 may request a provisioning service 517 of the test environment 505 to allocate a logical volume 516 for use by the scanning service 510.”, col.17, lines 12-15)
performing the security evaluation includes determining updated properties of the one or more resource objects to comply with the security policy (“the scanning service 310 may obtain and present one or more rules packages that describe the security assessment tasks to be performed and vulnerabilities to be corrected to achieve a particular security goal for the target resources.”, col.14-15, lines 67-3)
enabling the development platform to import or compile code for the one or more containers (“the snapshot storage service 108 stores snapshot data 146 (e.g., volume images) as data objects which are identifiable and retrievable by a data object identifier, such as a file name or key”, col.7, lines 56-60)
produce one or more container images for the one or more containers from the imported code or the compiled code (“At step 406, the scanning service may request the provision of a new VM instance that is a duplicate of the target VM instance. For example, the scanning service may provide the snapshot to a hypervisor, which provisions the assessment VM instance based on the snapshot. In another embodiment, the scanning service may provide one or more parameters of a logical volume (e.g., size, file system) to the hypervisor, which provisions the logical volume accessible by the scanning service, and the scanning service may install the snapshot into the logical volume to instantiate the assessment VM.”, col.16, lines 27-37)
conduct a trusted execution of the one or more container images for the one or more containers based on the configuration, in response to implementing the updated properties of the one or more resource objects and validating compliance with the security policy. (“the virtual computing environment 304A-B may isolate any instances and other virtual computing resources belonging to it, such as by employing a virtual private network and providing a secure interface for communicating with resources outside of the virtual computing environment 304A-B. In some embodiments, services and resources inside the virtual computing environment 304A-B may be isolated even from other resources and/or services of the computing resource service provider 300”, col.10, lines 48-57 ; “the scanning service 310 may obtain and present one or more rules packages that describe the security assessment tasks to be performed and vulnerabilities to be corrected to achieve a particular security goal for the target resources.”, col.14-15, lines 67-3 ; “the scanning system may mount the logical volume (or transform the snapshot into a data file by identifying the file system of the original logical volume and then mount the snapshot in the duplicate logical volume) as a hard drive with data stored thereon; the system may then perform the security assessment on the data at the file system level.”, col.3, lines 62-67)
It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the teachings of D’Innocenzo with those of Veselov in order to provide the system with a test environment wherein the security evaluations may be performed more quickly (Veselov, [col.12, lines 31-38]).
As per claim 2, D’Innocenzo in view of Veselov fully discloses the limitations of claim 1.
Furthermore, D’Innocenzo discloses:
the package data for the one or more containers comprises a Helm chart, wherein the Helm chart defines one or more application manifests, and wherein the one or more application manifests include the configuration to specify the execution of the one or more container images ("In various embodiments, Helm charts may be implemented that optionally include a schema file that describes every value that a user can set (whether optional or required) and can be enhanced to simplify workload deployment. In one embodiment, parameters that are required for a system to be deployed and do not typically include a default value are annotated with a meaningful token. As an example, the “exposedName” token is used, but it should be understood that any name can be used to identify values that are to be exposed. The “exposedName” token may be reused for duplicated values in all Helm charts that are required to deploy the system. The schema files from all the Helm charts may be parsed and the “exposedName” tokens may be extracted. A relationship map may be created (e.g., “exposedName”<->backend-value). This will be one to many. Customized input data for all “exposedName” values in the relationship map may be provided. The filled relationship map may be parsed and a Helm-values overlay file for each Helm chart may be output. The Helm charts may be deployed along with the generated values overlay.", 0017 ; Examiner Note: a schema file equates to an application manifest (XML file) which contains a relationship map- equating to a configuration- of a container)
As per claim 6, D’Innocenzo in view of Veselov fully discloses the limitations of claim 1.
Furthermore, Veselov discloses:
the security evaluation is performed on the one or more container images that provide the one or more containers (“At step 614, the scanning service may perform the security assessment by reading the files of the mounted volume image.”, col.18, lines 32-34)
performing the security evaluation includes scanning the one or more containers for vulnerabilities and evaluating whether the one or more resource objects comply with the security policy (“Additionally or alternatively, the scanning service 310 may obtain and present one or more rules packages that describe the security assessment tasks to be performed and vulnerabilities to be corrected to achieve a particular security goal for the target resources.”, col.14-15, lines 66-3)
As per claim 7, D’Innocenzo in view of Veselov fully discloses the limitations of claim 1.
Furthermore, D’Innocenzo discloses:
the development platform comprises a plurality of types of edge computing hardware available for execution of the one or more containers ("In some embodiments, the present disclosure may be implemented in a mobile edge computing (MEC) environment implemented in conjunction with a 4G, 5G, or other cellular network.", 0029 ; "It should also be appreciated that a server, gateway, or other computing device may comprise any combination of hardware or software that can interact and perform the described types of functionality, including without limitation desktop or other computers, database servers, network storage devices and other network devices, PDAs, tablets, smartphone, Internet appliances, television-based systems (e.g., using set top boxes and/or personal/digital video recorders), and various other consumer products that include appropriate communication capabilities.", 0028)
As per claim 10, it is a non-transitory machine-readable medium (D’Innocenzo, [0071]) claim comprising substantially the same limitations as claim 1. As such, it is rejected for substantially the same reasons.
As per claim 11, it is a non-transitory machine-readable medium claim comprising substantially the same limitations as claim 2. As such, it is rejected for substantially the same reasons.
As per claim 15, it is a non-transitory machine-readable medium claim comprising substantially the same limitations as claim 6. As such, it is rejected for substantially the same reasons.
As per claim 16, it is a non-transitory machine-readable medium claim comprising substantially the same limitations as claim 7. As such, it is rejected for substantially the same reasons.
As per claim 19, D’Innocenzo discloses:
a storage device to store package data for a deployment of one or more containers, the package data including a configuration for the one or more containers to be imported into the development platform (see fig.7- system memory 720 is a storage device ; “receiving, by a service running in the cloud computing environment, a plurality of Helm charts associated with a function to be deployed in the cloud computing environment, the plurality of Helm charts comprising a schema file and a plurality of parameters defining deployment of the function in the cloud computing environment”, 0084 ; Examiner Note: it is necessary that the package data, or Helm charts, are stored in the system memory, equating to a storage device, in order to be received)
extract the configuration for the one or more containers from the package data (“The schema files from all the Helm charts may be parsed and the “exposedName” tokens may be extracted. A relationship map may be created (e.g., “exposedName”<->backend-value). This will be one to many. Customized input data for all “exposedName” values in the relationship map may be provided.”, 0017 ; Examiner Note: a relationship map equates to a configuration)
Furthermore, Veselov discloses:
parsing the package data to generate one or more resource objects corresponding to one or more resources specified by the package data (“ To configure the second logical volume, the one or more hardware computing devices may be further configured to execute specific computer-executable instructions that upon execution cause the one or more hardware computing devices to: determine, based on one or both of the first data and an identifier of the target virtual machine, a template configuration used to instantiate the target virtual machine from the first logical volume; obtain the plurality of data files from the first data; combine the template configuration with the plurality of data files to create, in the second logical volume as the representation of the first computing resource, a second virtual machine”, col.23, lines 3-14 ; Examiner Note: the determining of a template configuration, which is necessary to create the second volume representing the resource, equates to parsing the package. The data file equates to package data)
performing a security evaluation of the one or more containers, the one or more resource objects, and the configuration for the one or more containers, to validate compliance with a security policy of the development platform (“FIG. 4 illustrates an example method 400 of performing a security assessment of a target virtual machine (VM) in a computing environment like the example computing environments 300, 350 of FIGS. 3A-B. At step 402, the scanning service may receive a signal to execute the security assessment of the target virtual machine, as described above with respect to FIG. 2.”, col.16, lines 15-21 ; “The snapshot storage service 108 may operate as a key value store that associates data objects with identifiers of the data objects that may be used by the customer to retrieve or perform other operations in connection with the data objects stored by the snapshot storage service 108. ; The scanning service 110 performs the desired security assessment using the snapshot data 146. For example, the scanning service 110 may obtain the snapshot data 146 from the snapshot storage service 146 and may process the snapshot data 146 to generate one or more assessment results.”, col.8, lines 9-18 ; “The security assessment may include an evaluation of a virtual machine configuration”, col.21, lines 61-62 ; “The scanning service 510 may request a provisioning service 517 of the test environment 505 to allocate a logical volume 516 for use by the scanning service 510.”, col.17, lines 12-15)
performing the security evaluation includes determining updated properties of the one or more resource objects to comply with the security policy (“the scanning service 310 may obtain and present one or more rules packages that describe the security assessment tasks to be performed and vulnerabilities to be corrected to achieve a particular security goal for the target resources.”, col.14-15, lines 67-3)
enabling the development platform to import or compile code for the one or more containers (“the snapshot storage service 108 stores snapshot data 146 (e.g., volume images) as data objects which are identifiable and retrievable by a data object identifier, such as a file name or key”, col.7, lines 56-60)
produce one or more container images for the one or more containers from the imported code or the compiled code (“At step 406, the scanning service may request the provision of a new VM instance that is a duplicate of the target VM instance. For example, the scanning service may provide the snapshot to a hypervisor, which provisions the assessment VM instance based on the snapshot. In another embodiment, the scanning service may provide one or more parameters of a logical volume (e.g., size, file system) to the hypervisor, which provisions the logical volume accessible by the scanning service, and the scanning service may install the snapshot into the logical volume to instantiate the assessment VM.”, col.16, lines 27-37)
conduct a trusted execution of the one or more container images for the one or more containers based on the configuration, in response to implementing the updated properties of the one or more resource objects and validating compliance with the security policy. (“the virtual computing environment 304A-B may isolate any instances and other virtual computing resources belonging to it, such as by employing a virtual private network and providing a secure interface for communicating with resources outside of the virtual computing environment 304A-B. In some embodiments, services and resources inside the virtual computing environment 304A-B may be isolated even from other resources and/or services of the computing resource service provider 300”, col.10, lines 48-57 ; “the scanning service 310 may obtain and present one or more rules packages that describe the security assessment tasks to be performed and vulnerabilities to be corrected to achieve a particular security goal for the target resources.”, col.14-15, lines 67-3 ; “the scanning system may mount the logical volume (or transform the snapshot into a data file by identifying the file system of the original logical volume and then mount the snapshot in the duplicate logical volume) as a hard drive with data stored thereon; the system may then perform the security assessment on the data at the file system level.”, col.3, lines 62-67)
As per claim 20, it is a system claim comprising substantially the same limitations as claim 2. As such, it is rejected for substantially the same reasons.
As per claim 23, it is a system claim comprising substantially the same limitations as claim 1. As such, it is rejected for substantially the same reasons.
As per claim 24, it is a system claim comprising substantially the same limitations as claim 2. As such, it is rejected for substantially the same reasons.
Claims 3-5, 12-14, 21, and 25 are rejected under 35 U.S.C. 103 as being unpatentable over D'Innocenzo (US 20230142198 A1) in view of Veselov (US 11216563 B1) in further view of Kwatra (US 20240086190 A1).
As per claim 3, D’Innocenzo in view of Veselov fully discloses the limitations of claim 1, but does not explicitly disclose the package data for the one or more containers comprising a Docker Compose YAML file.
However, Kwatra discloses:
the package data for the one or more containers comprises a Docker Compose YAML file, and wherein the Docker Compose YAML file includes the configuration to specify the execution of the one or more container images ("IaC code 232 files may include various configuration format files such as HCL, JSON or YAML file formats with functional and/or procedural instructions to provision the configuration of infrastructure components in a runtime environment. For example, storage 224 may store playbooks 234, each a type of IaC code 232 file written in YAML that include declarations specifying the final state infrastructure to provision for the runtime environment", 0044)
It would have been obvious to one of ordinary skill in the art, before the effective filing date to combine the teachings of D’innocenzo and Veselov with those of Kwatra in order to provide the development platform with the ability to automatically detect and remediate non-compliant code as part of the process in the CI/CD environment and further validate the code is compliant as part of the deployment process, thereby increasing the security of the deployed applications (Kwatra, [0015]).
As per claim 4, D’Innocenzo in view of Veselov fully discloses the limitations of claim 1, but does not disclose the package data for the deployment of the one or more containers providing references to source code from a repository.
However, Kwatra discloses:
the package data for the deployment of the one or more containers provides references to source code from a repository, and wherein the method further comprises: building the one or more container images, at the development platform, from the source code; and storing the one or more container images at the development platform. ("build a deployable image of source code in the continuous integration and continuous delivery pipeline according to a configuration of a runtime environment specified by the plurality of code files", 0004 ; see fig.2 – Source code 230 stored in repository 224 ; “The virtual computing environments (VCEs) typically take the form of virtual machines from virtual machine set 143 and/or containers from container set 144. It is understood that these VCEs may be stored as images and may be transferred among and between the various physical machine hosts, either as images or after instantiation of the VCE.”, 0035)
As per claim 5, D’Innocenzo in view of Veselov fully discloses the limitations of claim 1, but does not disclose the source code and the package data being obtained from a software development project repository.
However, Kwatra discloses:
the source code and the package data are obtained from a software development project repository ("Server 206 also includes, in memory 208, continuous integration module 212 having functionality to download source code from a repository and any dependent code required by the source code to execute, compile the source code with the dependent code, build an executable instance of the compiled source code with the dependent code, and test the executable instance of the source code", 0039 ; see fig.2- Source code 230 and playbooks 234 are stored in a repository for the development platform)
As per claim 12, it is a non-transitory machine-readable medium claim comprising substantially the same limitations as claim 3. As such, it is rejected for substantially the same reasons.
As per claim 13, it is a non-transitory machine-readable medium claim comprising substantially the same limitations as claim 4. As such, it is rejected for substantially the same reasons.
As per claim 14, it is a non-transitory machine-readable medium claim comprising substantially the same limitations as claim 5. As such, it is rejected for substantially the same reasons.
As per claim 21, it is a system claim comprising substantially the same limitations as claim 3. As such, it is rejected for substantially the same reasons.
As per claim 25, it is a system claim comprising substantially the same limitations as claim 3. As such, it is rejected for substantially the same reasons.
Claims 8, 17, and 22 are rejected under 35 U.S.C. 103 as being unpatentable over D'Innocenzo (US 20230142198 A1) in view of Veselov (US 11216563 B1) in further view of Kwatra (US 20240086190 A1) in further view of Bartholomew (US 20210297355 A1).
As per claim 8, D’Innocenzo in view of Veselov fully discloses the limitations of claim 7, but does not explicitly disclose controlling the execution of the one or more container images at the development platform
However, Kwatra discloses:
Control the execution of the one or more container images at the development platform (“Additionally, server 206 includes a continuous delivery module 214 having functionality to package the build into a deployable image, such as a container or virtual machine (VM) image, configure the deployable image for a runtime environment, and deploy the configured image in the production environment, among other functionality such as load testing.”, 0039 ; “Aspects of the present invention relate generally to software development environments and, more particularly, to systems, computer program products, and methods of automating software development, security, and operations (DevSecOps).”, 0015)
D'Innocenzo in view of Veselov in further view of Kwatra may disclose the above limitations of claim 8, but they do not explicitly disclose the performance of one or more workloads being distributed among a selected set of edge hardware.
However, Bartholomew discloses:
the execution includes performance of one or more workloads distributed among a selected set of hardware of the plurality of types of edge computing hardware (“"In another embodiment, aspects of the disclosure relate to a system configured for administering a distributed edge computing system utilizing an adaptive edge engine… identify, from the set of endpoints, an optimal set of endpoints for deploying the first workload based in part on the executing the at least one functional strategy; and update a state store, the state store comprising one or more states of workload-endpoint pairs, the workload-endpoint pairs associated with the one or more workloads and the plurality of endpoints.", 0019)
It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the system of D’Innocenzo in view of Veselov in further view of Kwatra with that of Bartholomew in order to provide the development platform for container deployment with a method for organization and operation of data structures and the algorithms for manipulating data in such structures which improves the fundamental operation of the computing system (Bartholomew, [0065]).
As per claim 17, it is a non-transitory machine-readable medium claim comprising substantially the same limitations as claim 8. As such, it is rejected for substantially the same reasons.
As per claim 22, D’Innocenzo in view of Veselov fully discloses the limitations of claim 19.
Furthermore, D’Innocenzo discloses:
the development platform comprises a plurality of types of edge computing hardware available for execution of the one or more containers ("In some embodiments, the present disclosure may be implemented in a mobile edge computing (MEC) environment implemented in conjunction with a 4G, 5G, or other cellular network.", 0029 ; "It should also be appreciated that a server, gateway, or other computing device may comprise any combination of hardware or software that can interact and perform the described types of functionality, including without limitation desktop or other computers, database servers, network storage devices and other network devices, PDAs, tablets, smartphone, Internet appliances, television-based systems (e.g., using set top boxes and/or personal/digital video recorders), and various other consumer products that include appropriate communication capabilities.", 0028)
D’Innocenzo in view of Veselov fully discloses the above limitations of claim 22, but does not explicitly disclose controlling the execution of the container at the development platform.
However, Kwatra discloses:
Control the execution of the one or more container images at the development platform (“Additionally, server 206 includes a continuous delivery module 214 having functionality to package the build into a deployable image, such as a container or virtual machine (VM) image, configure the deployable image for a runtime environment, and deploy the configured image in the production environment, among other functionality such as load testing.”, 0039 ; “Aspects of the present invention relate generally to software development environments and, more particularly, to systems, computer program products, and methods of automating software development, security, and operations (DevSecOps).”, 0015)
D'Innocenzo in view of Veselov in further view of Kwatra may disclose the above limitations of claim 22, but they do not explicitly disclose the performance of one or more workloads being distributed among a selected set of edge hardware.
However, Bartholomew discloses:
the execution includes performance of one or more workloads distributed among a selected set of hardware of the plurality of types of edge computing hardware (“"In another embodiment, aspects of the disclosure relate to a system configured for administering a distributed edge computing system utilizing an adaptive edge engine… identify, from the set of endpoints, an optimal set of endpoints for deploying the first workload based in part on the executing the at least one functional strategy; and update a state store, the state store comprising one or more states of workload-endpoint pairs, the workload-endpoint pairs associated with the one or more workloads and the plurality of endpoints.", 0019)
Claims 9 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over D'Innocenzo (US 20230142198 A1) in view of Veselov (US 11216563 B1) in further view of Kwatra (US 20240086190 A1) in further view of Bartholomew (US 20210297355 A1) in further view of Guim Bernat (US 20210144517 A1) in further view of Wang (US 20230325267 A1).
As per claim 9, D’Innocenzo in view of Veselov in further view of Kwatra in further view of Bartholomew fully discloses the limitations of claim 8.
Furthermore, D’Innocenzo discloses:
coordinating a deployment request at the development platform for the execution of the one or more container images, (“Referring to FIG. 5B, operation 551 illustrates receiving, by a service running in the cloud computing environment, a plurality of Helm charts associated with a function to be deployed in the cloud computing environment.”, 0044)
Furthermore, Kwatra discloses:
the development platform (“Aspects of the present invention relate generally to software development environments “, 0001)
D’Innocenzo in view of Veselov in further view of Kwatra may disclose the above limitations of claim 9, however, they do not explicitly disclose a distributed queue.
However, Guim Bernat discloses:
using a distributed queue of the development platform, (“The globally shared or subscribeable queue may also be invoked, observed, or implemented as a result of service operations and service functions in the edge computing system (e.g., to support sharing among services in FaaS or EaaS settings). Thus, features of the preceding examples (and other features of distributed queues) may be combined with any of the other Examples herein to configure an edge cluster or edge cloud system, as coordinated or designed by a system orchestrator or architect.”, 0449)
a multi-container service; wherein the multi-container service of the development platform is used to coordinate distribution of the one or more container images and other container images, among the plurality of types of edge computing hardware, based on the distributed queue (“FIG. 9 illustrates various compute arrangements deploying containers in an edge computing system… This arrangement is adapted for use of multiple tenants in system arrangement 930 (using compute nodes 936), where containerized pods (e.g., pods 912), functions (e.g., functions 913, VNFs 922, 936), and functions-as-a-service instances (e.g., FaaS instance 915) are launched within virtual machines (e.g., VMs 934, 935 for tenants 932, 933) specific to respective tenants (aside the execution of virtualized network functions).”, 0151 ; “Various device implementation examples of a subscribeable and distributed edge queue may be provided within service orchestration and execution systems, as deployed in any number of edge computing hardware, circuitry, node, or system arrangements (e.g., edge cloud 110, and the edge computing system configurations depicted in FIGS. 3 to 22D). Various method examples may include adding, coordinating, and removing information from the globally accessible queue, and executing jobs (one or more services, service actions, workflows, etc.) according to a coordinated use of the queue.”, 0448)
It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the teachings of D’Innocenzo in view of Veselov in further view of Kwatra in further view of Bartholomew with those of Guim Bernat, in order to provide the development platform with a distributed queue, as well as the ability to serve and respond to multiple applications (e.g., object tracking, video surveillance, connected cars, etc.) in real time and the ability to meet ultra-low latency requirements for these applications (Guim Bernat, [0973]).
D'Innocenzo in view of Veselov in further view of Kwatra in further view of Bartholomew in further view of Guim Bernat discloses the above limitations of claim 9, but does not explicitly disclose an edge monitor.
However, Wang discloses:
an edge monitor … wherein the edge monitor of the development platform is used to monitor the distributed queue and the multi-container service for successful execution of the one or more container images in addition to other container images. (“The computer installs a privileged container corresponding to the pending task in each respective edge device of the target group of edge devices to monitor execution of a child task by an application container in a given edge device of the target group of edge devices.”, 0005 ; Examiner Note: the privileged container equates to an edge monitor)
The system of D’Innocenzo in view of Veselov in further view of Kwatra in further view of Bartholomew in further view of Guim Bernat in further view of Wang provides an edge monitor and a distributed queue to a CaaS Development platform. It would have been obvious to one of ordinary skill in the art to combine the teachings of of D’Innocenzo in view of Veselov in further view of Kwatra in further view of Bartholomew in further view of Guim Bernat with those of Wang in order to provide a method which improves edge computing performance by enabling dynamic task assignment to edge devices, selective privileged container augmentation of edge devices, and automatic failed task recovery of application workloads on edge devices within an edge computing environment (Wang, [0045]).
As per claim 18, it is a non-transitory machine-readable medium claim comprising substantially the same limitations as claim 9. As such, it is rejected for substantially the same reasons.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Lee (US 20170054759 A1) – discloses a method and apparatus for security checking of image for container comprising; receiving an image for a container, identifying one or more layers of the image, collecting a path of a security configuration file, and searching the path and checking whether a security configuration file violates a predetermined security policy.
Shah (US 11861342 B2) – discloses a system for enhanced cloud computing deployment comprising; deployment tools, a set of container files to provide a server environment, and configuration data for the container images.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ROSS MICHAEL VINCENT whose telephone number is (703)756-1408. The examiner can normally be reached Mon-Fri 8:30AM-5:30PM.
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, April Blair can be reached at (571) 270-1014. 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.
/R.M.V./
Examiner, Art Unit 2196
/APRIL Y BLAIR/Supervisory Patent Examiner, Art Unit 2196