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 .
DETAILED ACTION
This office action is in response to communication filed 1/31/2024. Claims 1-20 are currently pending and claims 1, 10, and 16 are the independent claims.
Specification
Applicant is reminded of the proper content of an abstract of the disclosure.
A patent abstract is a concise statement of the technical disclosure of the patent and should include that which is new in the art to which the invention pertains. The abstract should not refer to purported merits or speculative applications of the invention and should not compare the invention with the prior art.
If the patent is of a basic nature, the entire technical disclosure may be new in the art, and the abstract should be directed to the entire disclosure. If the patent is in the nature of an improvement in an old apparatus, process, product, or composition, the abstract should include the technical disclosure of the improvement. The abstract should also mention by way of example any preferred modifications or alternatives.
Where applicable, the abstract should include the following: (1) if a machine or apparatus, its organization and operation; (2) if an article, its method of making; (3) if a chemical compound, its identity and use; (4) if a mixture, its ingredients; (5) if a process, the steps.
Extensive mechanical and design details of an apparatus should not be included in the abstract. The abstract should be in narrative form and generally limited to a single paragraph within the range of 50 to 150 words in length.
See MPEP § 608.01(b) for guidelines for the preparation of patent abstracts.
The abstract of the disclosure is objected to because the abstract is longer than 150 words in length. A corrected abstract of the disclosure is required and must be presented on a separate sheet, apart from any other text. See MPEP § 608.01(b).
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
As per claim 1, it recites “A computer-implemented method, comprising: receiving, by a validation system, a software deployment request, the software deployment request including an identifier associated with a software component and a deployment location; retrieving, by the validation system, metadata associated with the software component, based on the identifier; determining, by the validation system, a set of validations associated with the software deployment request, based at least in part on the metadata and the deployment location; initiating one or more validation processes, based at least in part on the set of validations; determining, by the validation system, a set of results of the one or more validation processes; and initiating, by the validation system, deployment of the software component to the deployment location, based at least in part on the set of results.”
The limitations “determining…a set of validations associated with the software deployment request, based at least in part on the metadata and the deployment location”, “initiating one or more validation processes, based at least in part on the set of validations”, and “determining…a set of results of the one or more validation processes”, as drafted recites a function that, under its broadest reasonable interpretation, covers a function that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. For example, a human may mentally/with pen and paper/etc. judge/decide/determine/etc. validations associated with deployment request, mentally/with pen and paper/etc. initiate validation process/perform analysis/perform judgement/perform evaluation/etc., and may mentally/with pen and paper/etc. determine/decide/judge results of validation/evaluation/analysis/judgement/etc.. As such, the limitations, as drafted, is a function that, under its broadest reasonable interpretation, recite the abstract idea of a mental process. The limitations encompass a human mind carrying out the function through observation, evaluation, judgment, and/or opinion, or even with the aid of pen and paper. Thus, this limitation recites and falls within the “Mental Processes” grouping of abstract ideas.
This judicial exception is not integrated into a practical application. The claim recites the additional elements “receiving, by a validation system, a software deployment request, the software deployment request including an identifier associated with a software component and a deployment location”, “retrieving, by the validation system, metadata associated with the software component, based on the identifier”, “by the validation system”, and “initiating, by the validation system, deployment of the software component to the deployment location, based at least in part on the set of results.” The limitations “by the validation system” recites that high level/generic computer/computer components/validation system are used to implement/perform the abstract idea/mental process, and as such amounts to mere instructions to apply the exception using generic computer and/or mere computer components. The additional elements “receiving, by a validation system, a software deployment request, the software deployment request including an identifier associated with a software component and a deployment location”, “retrieving, by the validation system, metadata associated with the software component, based on the identifier”, and “initiating, by the validation system, deployment of the software component to the deployment location, based at least in part on the set of results” do nothing more than add insignificant extra solution activity to the judicial exception of merely gathering/receiving/retrieving data/information/requests/metadata/etc. and transmitting/deploying data/information/software component/etc., and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity (see MPEP 2106.05(d)). Accordingly, the additional elements do not integrate the recited judicial exception into a practical application and the claim is therefore directed to the judicial exception. See MPEP 2106.05(f), 2106.05(g), etc..
The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements amount to mere instructions to apply the exception using generic computer and/or mere computer components which is not significantly more than the abstract idea, and mere insignificant extra solution activity to the judicial exception of merely gathering/receiving/retrieving data/information/requests/metadata/etc. and transmitting/deploying data/information/software component/etc., and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity, and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)). Accordingly, the claims are not patent eligible under 35 USC 101.
As per claim 2, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…rendering, via a user interface, the set of results of the one or more validation processes; and receiving a user response via the user interface,
wherein initiating the deployment of the software component is based at least in part on the user response” which, conceptually, with broadest reasonable interpretation, recites that high level/generic computer/computer components/user interface/etc. are used to perform insignificant extra solution activities of displaying data/information/results and gathering/receiving data/information/user response, which does not integrate the abstract idea into a practical application and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)), and further provides further clarification as to the insignificant extra solution activity of transmitting/deploying data/information/software components, which does not integrate the abstract idea into a practical application and is not significantly more than the abstract idea/mental process. As such, claim 2 fails to correct the deficiencies of claim 1 and is therefore rejected for similar reasoning as claim 1, above.
As per claim 3, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…determining a user associated with the software deployment request; and recording, in a validation results data store, an association between the set of results and the user” which, conceptually, with broadest reasonable interpretation, provides further clarification as to the abstract idea/mental process/determining/judging/etc. being performed and further recites the insignificant extra solution activity of recording/storing/etc. data/information/association between data/etc. which does not integrate the abstract idea into a practical application and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)). As such, claim 3 fails to correct the deficiencies of claim 1 and is therefore rejected for similar reasoning as claim 1, above.
As per claim 4, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein determining the set of validations comprises: determining a first deployment platform associated with the deployment location; and determining a first validation based on the first deployment platform”, which, conceptually, with broadest reasonable interpretation, provides further clarification as to the abstract idea/mental process/determining/judging/etc. being performed, which does not integrate the abstract idea into a practical application and is not significantly more than the abstract idea/mental process. As such claim 4 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 5, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein determining the set of validations comprises at least one of: determining a criticality level associated with the software component; or determining whether the software component is a consumer-facing application” which, conceptually, with broadest reasonable interpretation, provides further clarification as to the abstract idea/mental process/determining/judging/etc. being performed, which does not integrate the abstract idea into a practical application and is not significantly more than the abstract idea/mental process. As such claim 5 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 6, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein initiating the one or more validation processes comprises: initiating, prior to deploying the software component to the deployment location, a first validation process on the software component; and initiating, prior to deploying the software component to the deployment location, a second validation process on a computing environment associated with the deployment location” which, conceptually, with broadest reasonable interpretation, provides further clarification as to the abstract idea/mental process/validating/judging/evaluating/etc. being performed, which does not integrate the abstract idea into a practical application and is not significantly more than the abstract idea/mental process. As such claim 6 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 7, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein initiating the one or more validation processes comprises: executing a first validation process configured to verify the presence of documentation associated with the software deployment request, at a network location separate from the deployment location”, which, conceptually, with broadest reasonable interpretation, provides further clarification as to the abstract idea/mental process/validating/judging/evaluating/etc. being performed, which does not integrate the abstract idea into a practical application and is not significantly more than the abstract idea/mental process. As such claim 7 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 8, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…receiving a second software deployment request including the identifier associated with a software component, wherein the software deployment request is associated with a first time and the second software deployment request is associated with a second time after the first time; retrieving second metadata associated with the software component, based on the identifier, wherein the second metadata is different from the metadata; determining a set of second validations associated with the second software deployment request, based at least in part on the second metadata, wherein the second set of validations is different from the set of validations; initiating one or more additional validation processes, based at least in part on the second set of validations; determining a second set of results of the one or more validation processes; and initiating second deployment of the software component to the deployment location, based at least in part on the second set of results” which, conceptually, with broadest reasonable interpretation, provides further clarification as to the abstract idea/mental process/determining/validating/judging/deciding/evaluating/etc. being performed which does not integrate the abstract idea into a practical application and is not significantly more than the abstract idea/mental process, and recites further insignificant extra solution activities of gathering/receiving/retrieving/etc. data/information/request/metadata/etc. and transmitting/deploying data/information/software component/etc. which does not integrate the abstract idea into a practical application and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)). As such claim 8 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 9, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…receiving a second software deployment request including the identifier associated with a software component and a second deployment location different from the deployment location; determining a set of second validations associated with the second software deployment request, based at least in part on the metadata and the second deployment location, wherein the second set of validations is different from the set of validations; initiating one or more additional validation processes, based at least in part on the second set of validations; determining a second set of results of the one or more validation processes; and initiating second deployment of the software component to the second deployment location, based at least in part on the second set of results” which, conceptually, with broadest reasonable interpretation, provides further clarification as to the abstract idea/mental process/determining/validating/judging/deciding/evaluating/etc. being performed which does not integrate the abstract idea into a practical application and is not significantly more than the abstract idea/mental process, and recites further insignificant extra solution activities of gathering/receiving/retrieving/etc. data/information/request/metadata/etc. and transmitting/deploying data/information/software component/etc. which does not integrate the abstract idea into a practical application and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)). As such claim 9 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 10, it recites a computer system having similar limitations as the computer-implemented method of claims 1 and 3, and as such recites the same deficiencies as claims 1 and 3, as seen above. Claim 10 further recites the additional elements “A computer system, comprising: one or more processors; and one or more non-transitory computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising” which, with broadest reasonable interpretation, recites that high level/generic computer/computer components/one or more processors and one or more non-transitory computer-readable media/etc. are used to implement/perform the abstract idea/mental process, which does not integrate the abstract idea/mental process into a practical application and is not significantly more than the abstract idea/mental process. As such, the additional elements of claim 10 fail to correct the deficiencies of claims 1 and 3, and therefore claim 10 is rejected for similar reasoning as claims 1 and 3, above.
As per claim 11, it incorporates the deficiencies of claim 10, upon which it depends, and further recites “…wherein determining the set of validations is based at least in part on the user associated with the software deployment request” which, conceptually, with broadest reasonable interpretation, provides further clarification as to the abstract idea/mental process/determining/judging/etc. being performed, which does not integrate the abstract idea into a practical application and is not significantly more than the abstract idea/mental process. As such claim 11 fails to correct the deficiencies of claim 10, and is therefore rejected for similar reasoning as claim 10, above.
As per claim 12, it incorporates the deficiencies of claim 10, upon which it depends, and further recites “…wherein determining the set of validations comprises: determining a development group associated with the software deployment request; and determining a first validation associated with the development group” which, conceptually, with broadest reasonable interpretation, provides further clarification as to the abstract idea/mental process/determining/judging/etc. being performed, which does not integrate the abstract idea into a practical application and is not significantly more than the abstract idea/mental process. As such claim 12 fails to correct the deficiencies of claim 10, and is therefore rejected for similar reasoning as claim 10, above.
As per claims 13 and 14-15, they recite computer systems having similar limitations as the methods of claims 4 and 2, respectively, and are therefore rejected for similar reasoning as claims 4 and 2, respectively, above.
As per claim 16, it recites one or more non-transitory computer-readable media having similar limitations as the computer implemented method of claim 1, and as such recites the same deficiencies as claim 1, as seen above. Claim 16 further recites the additional elements of “one or more non-transitory computer-readable media storing instructions executable by a processor, wherein the instructions, when executed by the processor, cause the processor to perform operations comprising” which, with broadest reasonable interpretation, recites that high level/generic computer/computer components/one or more non-transitory computer-readable media and a processor/etc. are used to implement/perform the abstract idea/mental process, which does not integrate the abstract idea/mental process into a practical application and is not significantly more than the abstract idea/mental process. As such, the additional elements of claim 16 fail to correct the deficiencies of claim 1, and therefore claim 16 is rejected for similar reasoning as claim 1, above.
As per claims 17-20, they recite non-transitory computer-readable media having similar limitations as the methods of claims 2-5, respectively, and are therefore rejected for similar reasoning as claims 2-5, respectively, above.
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, 3-4, 6-7, 10-11, 14, 16, and 18-19 are rejected under 35 U.S.C. 103 as being unpatentable over Muranaka et al. (herein called Muranaka) (US PG Pub. 2011/0203001 A1) and Orozco et al. (herein called Orozco) (US PG Pub. 2021/0157560 A1).
As per claim 1, Muranaka teaches: a computer-implemented method, comprising:
receiving, by a validation system, a software deployment request, the software deployment request including an identifier associated with a software component and a deployment location (pars. [0098]-[0099], [0105], [0159]-[0160], [0225]-[0226], user sends request for an application to be deployed to management function/verification function/etc. (validation system receives software deployment request) that includes information about the application to be deployed such as application ID, ID/name of device/location/etc. application is to be deployed to, user/requestor ID/address, etc. (software deployment request is associated with software component/application/etc. and deployment location/device/location to deploy application).);
retrieving, by the validation system, metadata associated with the software component, based on the identifier (pars. [0100]-[0101], [0108]-[0109], [0167], [0180]-[0181], [0226]-[0228], [0234]-[0235], identifiers of application deployment request are used to search management table and obtain permitted user list/permitted domain name/IP address/etc. (retrieving/obtaining/etc. metadata/data/user list/permitted lists/etc. associated with the software component/application deployment/etc. based on the identifier/using the identifier).);
determining, by the validation system, validations associated with the software deployment request, based at least in part on the metadata and the deployment location (pars. [0063], [0105], [0107], [0162], [0166], [0180]-[0182], [0227], [0233]-[0234], permitted user list/permitted user column/access permitted users/etc. is obtained using the application ID and device/destination ID/address/etc. and is used to perform verification/validation/etc. of user requesting software/application deployment requesting user/requesting user address/etc. by comparing ID of requesting user to list of permitted users/accessible users/searching list of permitted users for entry/ID corresponding to requesting user/etc.. As the entries in the list of permitted users is searched/compared for an entry corresponding to the requesting user, the list of permitted users are validations/verifications/etc. associated with the software/application request as each entry/permitted user/etc. is checked/validated/verified/compared/etc. to the requesting user, and as the list of permitted user is metadata/data/information obtained using/based on/etc. the identifiers in the request/device ID/address/deployment location/etc. the set of validations is based in part on the metadata and deployment location.);
initiating one or more validation processes, based at least in part on the set of validations (pars. [0102], [0105], [0110], [0162], [0168]-[0169], [0174], [0182], [0229], [0235]-[0236], verification function verifies consistency between permitted users/accessible user/user list/permitted domain name list/etc. and requesting user/domain name of deployment destination/etc./determines if requesting user/requestor/domain name of destination/etc. is included in list of permitted users/domain names/etc. (initiating validation/verification processes based on set of validations).);
determining, by the validation system, a set of results of the one or more validation processes (pars. [0102]-[0103], [0111], [0162], [0169], [0174]-[0175], [0182], [0229]-[0230], [0236], determination/verification determines that the requesting user/user corresponding to destination/etc. is consistent with/is included in/etc. permitted user list/permitted domain list/accessible user list/etc. (determine results of validation processes is validation passes), or determines that the requesting user/user corresponding to destination/etc. is not consistent with/is not included in/etc. permitted user list/permitted domain list/accessible user list/etc. (determine results of validation processes is validation does not pass).); and
initiating, by the validation system, deployment of the software component to the deployment location, based at least in part on the set of results (pars. [0103], [0176], [0231], when verification/validation result indicates consistency/inclusion/passes validation/etc. application is deployed to deployment location and when verification/validation result indicates inconsistency/not included/fails validation/etc. application is not deployed to deployment location (deployment of software component/application to deployment location is imitated/performed/deployed/etc. based on the set of results/validation results/verification results/etc.).).
While Muranaka teaches performing validations/verifications/etc. before deploying requested software/application/etc., Muranaka does not explicitly disclose that a set of validations/multiple validations/etc. may be performed, and as such does not explicitly state, however Orozco teaches:
a set of validations associated with the software deployment request (pars. [0019], [0030], [0036], [0041]-[0042], users submit request to deployment system for application version (user request for application/software deployment request/etc. from Muranaka) and various tests/verifications/tests/etc. are performed including testing the code/software, verification of adequate disk space on host/deployment destination/etc., correct permissions (verifying user is permitted user from Muranaka), etc. (set of/various/ multiple/etc. validations associated with software/application deployment 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 add a set of validations associated with the software deployment request, as conceptually taught by Orozco, into that of Muranaka because these modifications allow for multiple/a set of/different/etc. verifications/validations/tests/etc. to be performed when deploying software/applications/etc. thereby helping to ensure that deployment is permitted and is able to performed successfully which increases control over the deployment of software while helping to ensure that deployed software operates correctly, thereby helping to prevent errors in deployment and making it more desirable to users.
As per claim 3, Muranaka further teaches: determining a user associated with the software deployment request (pars. [0098], [0101], [0109], [0228], [0235], requesting user/user associated with application deployment/output destination/device/user address/etc. is determined/identified/etc. (determine a user associated with software deployment request).); and
recording, in a validation results data store, an association between the set of results and the user (fig. 3, pars. [0070]-[0074], [0103], [0176], [0220], when verification/validation passes/indicates consistency/etc. the application/software is deployed and application management table is updated/entry is made to management table/etc. to record the deployment of the application/application ID deployed/etc. to the destination/etc. and the requesting/deploying user (record association between the set of results/verification and deployment of application/etc. and the user/requesting user/deploying user/etc.).).
As per claim 4, Muranaka further teaches: wherein determining the set of validations comprises:
determining a first deployment platform associated with the deployment location (pars. [0159]-[0161], [0166], [0228], host name and domain name/requestor IP address/etc. (first deployment platform) of/associated with/etc. application output/deployment destination (deployment location) is determined, ); and
determining a first validation based on the first deployment platform (pars. [0161]-[0162], [0168]-[0169], [0229]-[0231], verification is made/determination is made/etc. as to whether the domain/IP address/host/etc. is consistent with/included in/etc. permitted domains/addresses/hosts/etc. and determination/verification results are returned/output/etc. (determine first validation/verification based on first deployment platform/host/domain/address/etc.). ).
As per claim 6, Muranaka further teaches: wherein initiating the one or more validation processes comprises:
initiating, prior to deploying the software component to the deployment location, a first validation process on the software component (pars. [0102]-[0103], [0105], [0110]-[0111], [0168]-[0169], [0174], [0176], [0227]-[0230], user request application/software component/etc. deployment and verification/validation determines whether user is permitted/allowed/etc. to deploy/access/etc. application/software deployment (first validation on the software component/first validation that application may be deployed/accessed/etc. by user/requestor/etc.), and application/software component is deployed when verification/validation is passed/consistent/etc. (validation occurs prior to deploying the software component/application to deployment location).).
Muranaka does not explicitly state, however Orozco teaches:
initiating, prior to deploying the software component to the deployment location, a second validation process on a computing environment associated with the deployment location (pars. [0019], [0030], [0036], [0041]-[0043], users submit request to deployment system for application version (user request for application/software deployment request/etc. from Muranaka) and various/multiple/first and second/etc. tests/verifications/tests/etc. are performed including testing the code/software and verifying correct permissions (first validation process on the software component), and verification of adequate disk space on host/deployment destination/etc. (initiate second validation process on computing environment/host associated with deployment/deployment destination prior to deploying software component), and code/software is deployed after testing/verifications/validations is completed (validations are prior to deploying software component to deployment locations).).
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention to add initiating, prior to deploying the software component to the deployment location, a second validation process on a computing environment associated with the deployment location, as conceptually taught by Orozco, into that of Muranaka because these modifications allow for additional/multiple/second/different/etc. verifications/validations/tests/etc. to be performed when deploying software/applications/etc. thereby helping to ensure that deployment is permitted and is able to performed successfully which increases control over the deployment of software while helping to ensure that deployed software operates correctly, thereby helping to prevent errors in deployment and making it more desirable to users.
As per claim 7, Muranaka further teaches: wherein initiating the one or more validation processes comprises:
executing a first validation process configured to verify the presence of documentation associated with the software deployment request, at a network location separate from the deployment location (fig. 1, pars. [0098], [0103], [0105], [0110], [0135], [0159], [0167]-[0168], [0173]-[0174], [0229], user devices, deployment management/verification function/etc. are part of network (network locations), user request deployment of application/software component to deployment location/user device/etc., and deployment management/verification function/etc. performs verification/validation/etc. (first validation process) which checks/determines/etc. if user/requesting user/domain/etc. is consistent with/is included in list of permitted users/domains/etc. (presence of documentation associated with software deployment request/presence of requestor user name in list of permitted users/etc.), and if verification/validation is successful the application/software component is deployed/deployed to destination/user device/etc.. As the deployment destination is a different location/device/etc. of the network than the node/management/verification functions/etc. performing the verification/validation/etc., and the deployment occurs if the validation/verification is successful, it is obvious that the verification/validation is performed/executed/takes place/etc. at a network location separate from the deployment location.).
As per claim 10, it recites a computer system having similar limitations as the method of claims 1 and 3, and is therefore rejected for similar reasoning as claims 1 and 3, above.
As per claim 11, Muranaka further teaches: wherein determining the set of validations is based at least in part on the user associated with the software deployment request (pars. [0098]-[0102], [0108]-[0110], [0228]-[0229], [0234]-[0236], requesting user/user associated with application deployment/output destination/device/user address/etc. and list of permitted users/destinations/etc. are determined/identified/etc. and validation/verification/etc. includes checking/verifying consistency between user/requesting user/etc. and list of permitted users/destinations/verifying that the user/requesting user is included in the list of permitted users/etc. As the verification/validation involves checking the user/requesting user against each of the users included in the list of permitted users to verify/validate consistency/inclusion in the list, it is obvious that the validations are determined based on the user/requesting user/user associated with software deployment request/etc..).
As per claim 14, Muranaka further teaches: wherein determining the set of validations comprises:
determining a first deployment platform associated with the deployment location (pars. [0159]-[0161], [0166], [0228], host name and domain name/requestor IP address/etc. (first deployment platform) of/associated with/etc. application output/deployment destination (deployment location) is determined, ); and
determining a first validation based on the first deployment platform (pars. [0161]-[0162], [0168]-[0169], [0229]-[0231], verification is made/determination is made/etc. as to whether the domain/IP address/host/etc. is consistent with/included in/etc. permitted domains/addresses/hosts/etc. and determination/verification results are returned/output/etc. (determine first validation/verification based on first deployment platform/host/domain/address/etc.). ).
While Muranaka teaches that the deployment location/device/etc. is part of a network, it does not explicitly state that it is a cloud deployment location, and as such does not explicitly state, however Orozco teaches:
a first cloud deployment platform associated with the software deployment request (fig. 2, pars. [0019], [0026], [0031], network is cloud network including the user devices, deployment platform, production environments where code is deployed/deployment locations/deployment platform associated with software deployment request/etc.. As the deployment platform deploying the code/software/application and environment where code/software is deployed to/deployment locations/deployment platform are connected via cloud network, it is obvious that the network may be a cloud network and therefore the deployment platform/location/etc. is a cloud deployment platform.).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add a first cloud deployment platform associated with the software deployment request, as conceptually taught by Orozco, into that of Muranaka because these modifications allow for a cloud network to be used to connect/enable communication/etc. between the users/user devices/requestors/etc. and the deployment system/verification system/etc., which is desirable as it allows for a known and effective method of connecting devices to be used to allow the devices to communicate with each other, thereby helping to ensure that communication between devices occurs successfully so the software/application/etc. may be successfully requested and deployed.
As per claims 16, 18, and 19 they recite non-transitory computer-readable media having similar limitations as the methods of claim 1, 3, and 4, respectively, and are therefore rejected for similar reasoning as claims 1, 3, and 4, respectively, above.
Claims 2, 14, 15, and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Muranaka et al. (herein called Muranaka) (US PG Pub. 2011/0203001 A1) and Orozco et al. (herein called Orozco) (US PG Pub. 2021/0157560 A1) in further view of Bird et al. (herein called Bird) (US PG Pub. 2011/0047527 A1).
As per claim 2, while Muranaka teaches returning the results of the verification/validation to the user/user device/etc., it does not explicitly state, however Bird teaches:
rendering, via a user interface, the set of results of the one or more validation processes (pars. [0023], [0040]-[0041], code (software component) is verified/validation process and results/error messages/verification results/etc. are provided to user in graphical interface/user interface/etc. (rendering/display/provide/etc. results of validation process via user interface/graphical user interface/etc.).); and
receiving a user response via the user interface, wherein initiating the deployment of the software component is based at least in part on the user response (pars. [0021], [0023], [0042]-[0043], validation results/error messages/notification of failed validation/etc. are presented to user via graphical user interface/user interface/etc., user interacts with user interface to communicate with deployment environment and user may deploy application by selecting element in interface/graphically checking a deploy check box/etc. (receive user response via user interface that initiates deployment of the software component/deployment of software component is based on user response/graphically checking box/etc.).).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add rendering, via a user interface, the set of results of the one or more validation processes; and receiving a user response via the user interface, wherein initiating the deployment of the software component is based at least in part on the user response, as conceptually taught by Bird, into that of Muranaka and Orozco because these modifications allow for users to be provided the verification results and initiate deployment of the software component/code/application/etc., which is desirable as it allows users to be informed of the verification results so they may be informed of any errors/problems/etc. that occur during validation/verification and for deployment of the application/software/etc. to occur when desired by the user, thereby increases user control over the deployment and making it more desirable to users.
As per claims 14 and 15, they recite systems having similar limitations as the method of claim 2, and are therefore rejected for similar reasoning as claim 2, above.
As per claim 17, it recites a non-transitory computer-readable media having similar limitations as the method of claim 2, and is therefore rejected for similar reasoning as claim 2, above.
Claims 5 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Muranaka et al. (herein called Muranaka) (US PG Pub. 2011/0203001 A1) and Orozco et al. (herein called Orozco) (US PG Pub. 2021/0157560 A1) in further view of Agarwal et al. (herein called Agarwal) (US PG Pub. 2018/0300499 A1).
As per claim 5, Muranaka and Orozco do not explicitly state, however Agarwal teaches:
wherein determining the set of validations comprises at least one of: determining a criticality level associated with the software component (pars. [0031], [0033], [0036]-[0037], [0068], [0073], source code for application is packaged/used/etc. and container for application is created, and code/application/container/etc. is validated which includes security validation checking for levels of vulnerabilities including high vulnerability deficiencies, critical vulnerability deficiencies, etc. (criticality level associated with software component/code/container/etc.) and results of validation are determined and displayed for user review (set of validations comprises determining a criticality level/critical vulnerability/etc. associated with software component/code/application/container/etc.).); or determining whether the software component is a consumer-facing application.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add wherein determining the set of validations comprises at least one of: determining a criticality level associated with the software component; or determining whether the software component is a consumer-facing application, as conceptually taught by Agarwal, into that of Muranaka and Orozco because these modifications allow for validating/verifying/etc. the application/software/code/etc. to include validating/verifying that critical/important/etc. errors/issues/problems/etc. are not present in the code/software/application/the code is not critically vulnerable/etc., thereby helping to ensure that the code operates correctly/securely/without errors/as desired/etc. making it more desirable to users.
As per claim 20, it recites a non-transitory computer-readable media having similar limitations as the method of claim 5, and is therefore rejected for similar reasoning as claim 5, above.
Claim 12 is rejected under 35 U.S.C. 103 as being unpatentable over Muranaka et al. (herein called Muranaka) (US PG Pub. 2011/0203001 A1) and Orozco et al. (herein called Orozco) (US PG Pub. 2021/0157560 A1) in further view of Natari (US PG Pub. 2019/0243742 A1).
As per claim 12, Muranaka and Orozco do not explicitly state, however Natari teaches: wherein determining the set of validations comprises:
determining a development group associated with the software deployment request (pars. [0053]-[0054], [0057]-[0058], [0061]-[0062], multiple users/developers/etc. provide development code which are packaged together into application for deployment to production environment, and developed/development code from each user is stored in iteration candidate and packaged together for testing/verification/validation/etc. and deployment (determine development group/development codes from multiple developers/set of development code from group of users/etc. that are associated with software deployment request/packaged together for deployment).); and
determining a first validation associated with the development group (pars. [0055]-[0056], [0061]-[0062], first test is implemented on each development code in the set/group/etc. of development codes/verification/validation is performed on each of the set of development codes to determine that they meets standards/verification is performed that the packaged code has passed the tests/etc. (determine first validation/test/verification/etc. associated with development group).).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add wherein determining the set of validations comprises: determining a development group associated with the software deployment request; and determining a first validation associated with the development group, as conceptually taught by Natari, into that of Muranaka and Orozco because these modifications allow for the software/application/code/etc. being deployed to be developed by a group/multiple developers/etc. and to be tested/verified/validated before being deployed, which is desirable as it allows for the application/software/code to be developed more efficiently/faster/etc. by allowing multiple/group/etc. of developers cooperatively develop the code/software/application while helping to ensure that code developed by each of the developers/group/etc. is validated/tested/verified thereby helping to ensure that the code operates correctly/as desired/etc..
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DOUGLAS M SLACHTA whose telephone number is (571)270-0653. The examiner can normally be reached Monday-Friday 6:30am-4pm.
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, Chat Do can be reached at 571-272-3721. 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.
/DOUGLAS M SLACHTA/Examiner, Art Unit 2193