DETAILED ACTION
Status of Claims
The following is a Final Office Action in response to applicant’s amendments received on 03/04/2026.
Claims 1-20 are cancelled. Claims 21-40 are newly added. Claims 21-40 are considered in this Office Action. Claims 21-40 are currently pending.
Response to Arguments
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action.
Response to claim objections arguments: Applicant' s arguments with respect to claim(s) 9-11 and 13 have been considered but are moot because applicant cancelled claims 1-20.
Response to § 101 arguments: Applicant’s arguments concerning 35 USC § 101 to claims 1-20 have been considered but are moot because applicant cancelled claims 1-20. An updated 35 USC § 101 will address applicant’s newly added claims.
Response to § 103 arguments: Applicant’s arguments concerning 35 USC § 103 to claims 1-20 have been considered but are moot because applicant cancelled claims 1-20. An updated 35 USC § 103 will address applicant’s newly added claims.
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 21-40 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-patentable subject matter. The claims are directed to an abstract idea without significantly more.
Claims 21-40 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The judicial exception is not integrated into a practical application. The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. The eligibility analysis in support of these findings is provided below, in accordance with the “Patent Subject Matter Eligibility Guidance” (MPEP 2106).
With respect to Step 1 of the eligibility inquiry (as explained in MPEP 2106), it is first noted that the system (claims 21-27), the system (claim 28-34), and method (claims 35-40) are directed to an eligible category of subject matter (i.e., process, machine, and article of manufacture). Thus, Step 1 is satisfied.
With respect to Step 2, and in particular Step 2A Prong One of MPEP 2106, it is next noted that the claims recite an abstract idea by reciting concepts of “mental process” of a method for generating testing methods tasks and task assignment within the enumerated groupings of abstract ideas. The claims further fall within the enumerated groupings of abstract ideas of certain methods of organizing human activity –interactions between people (including social activities, teaching, and following rules or instructions). The use of computer/computer components to perform the abstract idea does not negate the abstractness of the claims. See MPEP 2106.04(a)(2). The limitations reciting the abstract idea are highlighted in italics and the limitation directed to additional elements highlighted in bold, as set forth in exemplary claim 21, are A computing system for assisting software deployment testing, the computing system comprising: a non-transitory storage device; a processor operatively coupled with the storage device; and a test class application stored in the storage device and including executable code that, when executed, causes the processor to, receive and store in the storage device a plurality of test classes adapted to perform software deployment testing on software applications, receive and store in the storage device team identifications of a first plurality of teams able to perform the software deployment testing using the test classes, train and build a machine learning model using training data from previously executed software deployment testing, the training data including ones of the test classes used, an order of execution of the test classes used, the team identifications of the teams in the first plurality of teams performing the testing, completion times of the test classes and errors discovered by the testing, deploy the model and use the model to determine ones of the test classes to be used for testing a selected software application based upon the training data, use the model to determine an order of execution of the determined test classes based upon the training data, receive the team identifications of a second plurality of ones of the teams in the first plurality of teams that are available to perform the software deployment testing on the selected software application and use the model to make initial assignments of the teams in the second plurality of teams to the determined test classes based upon the completion times and/or the errors discovered from the previously executed software deployment testing, generate a test class map listing the determined order of execution of the determined test classes and the initial assignments of each of the teams in the second plurality of teams to a different one of the determined test classes, and store the test class map in the storage device, display the test class map on at least one computing device display for viewing by the assigned teams, and respond to completion of execution of each of the determined test classes by reassigning the assigned team to an unassigned one of the determined test classes not yet completed and updating the assignments in the displayed test class map. Claim 28 and 35 recites substantially the same limitation as claim 21 and therefore subject to the same rationale.
With respect to Step 2A Prong Two of MPEP 2106, the judicial exception is not integrated into a practical application. The additional elements are directed to: A computing system, a non-transitory storage device; a processor operatively coupled with the storage device, and a test class application stored in the storage device and including executable code that, when executed, causes the processor to, receive and store in the storage device a plurality of test classes adapted to perform software deployment testing on software applications, receive and store in the storage device team identifications of a first plurality of teams able to perform the software deployment testing using the test classes, train and build a machine learning model using training data from previously executed software deployment testing, the training data including ones of the test classes used, an order of execution of the test classes used, the team identifications of the teams in the first plurality of teams performing the testing, completion times of the test classes and errors discovered by the testing,(recited at high level of generality amounts to “apply it”), store the test class map in the storage device(amounts to extra-solution activity), display the test class map on at least one computing device display for viewing by the assigned teams (amounts to displaying results which is extra-solution activity)to implement the abstract idea. However, these elements fail to integrate the abstract idea into a practical application because they fail to provide an improvement to the functioning of a computer or to any other technology or technical field, fail to apply the exception with a particular machine, fail to effect a transformation of a particular article to a different state or thing, and fail to apply/use the abstract idea in a meaningful way beyond generally linking the use of the judicial exception to a particular technological environment. Furthermore, these elements have been fully considered, however they are directed to the use of generic computing elements (Applicant’s Specification paragraph [0043] describes high level general purpose computer) to perform the abstract idea, which is not sufficient to amount to a practical application (as noted in MPEP 2106) and is tantamount to simply saying “apply it” using a general purpose computer, which merely serves to tie the abstract idea to a particular technological environment (computer based operating environment) by using the computer as a tool to perform the abstract idea, which is not sufficient to amount to particular application. The examiner further notes that the “train and build a machine learning model” merely represents computer/ processor environment automatically executing predefined models, and mere instructions to apply/implement/automate an abstract idea in a particular technological environment and merely limiting the use of an abstract idea to a particular field or technological environment do not eliminate existence of an abstract idea, do not provide practical application for an abstract idea and do not provide significantly more to an abstract idea MPEP 2106.05(f) &(h)). Furthermore, the “receiving” step, even if evaluated as an additional element, at most amounts to insignificant extra-solution activity, which is not indicative of a practical application, as noted in MPEP 2106.05(g). The courts have recognized the following computer functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity: Storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-93.
Accordingly, because the Step 2A Prong One and Prong Two analysis resulted in the conclusion that the claims are directed to an abstract idea, additional analysis under Step 2B of the eligibility inquiry must be conducted in order to determine whether any claim element or combination of elements amount to significantly more than the judicial exception.
With respect to Step 2B of the eligibility inquiry, it has been determined that the claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. The additional limitations are directed to A computing system, a non-transitory storage device; a processor operatively coupled with the storage device, and a test class application stored in the storage device and including executable code that, when executed, causes the processor to, receive and store in the storage device a plurality of test classes adapted to perform software deployment testing on software applications, receive and store in the storage device team identifications of a first plurality of teams able to perform the software deployment testing using the test classes, train and build a machine learning model using training data from previously executed software deployment testing, the training data including ones of the test classes used, an order of execution of the test classes used, the team identifications of the teams in the first plurality of teams performing the testing, completion times of the test classes and errors discovered by the testing,(recited at high level of generality amounts to “apply it”), store the test class map in the storage device(amounts to extra-solution activity), display the test class map on at least one computing device display for viewing by the assigned teams (amounts to displaying results which is extra-solution activity)to implement the abstract idea. These elements have been considered, but merely serve to tie the invention to a particular operating environment (i.e., computer-based implementation), though at a very high level of generality and without imposing meaningful limitation on the scope of the claim. In addition, Applicant’s Specification (Applicant’s Specification paragraph [0043] describes high-level general-purpose computer) describes generic off-the-shelf computer-based elements for implementing the claimed invention, and which does not amount to significantly more than the abstract idea, which is not enough to transform an abstract idea into eligible subject matter. Such generic, high-level, and nominal involvement of a computer or computer-based elements for carrying out the invention merely serves to tie the abstract idea to a particular technological environment, which is not enough to render the claims patent-eligible, as noted at pg. 74624 of Federal Register/Vol. 79, No. 241, citing Alice, which in turn cites Mayo.
Even if evaluated as an additional element, the “receiving” step describes insignificant extra-solution activity, which has been recognized as well-understood, routine, and conventional, and thus insufficient to add significantly more io the abstract idea. See MPEP 2106.05(d) -Receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec, 838 F.3d at 13271, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information); TLI Communications LLC v. AV Auto. LLC, 823 F.3d 607, 616, 118 USPQ2d 1744, 1745 (Fed. Cir. 2016) (using a telephone for image transmission); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network); BuySAFE, inc. v. Google, inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2074) (computer receives and sends information over a network). Lastly, the machine learning model and algorithms are considered well-understood, routine, and conventional in the art, and therefore do not add significantly more to the claims. See, e.g., You et al, US 2012/0191531 (par. 37: “model 514 may comprise, for example, a model obtained using any of a variety of well-known machine learning techniques”). See also, Tung et al., US 2020/0285569 A1 (par. 89: “Once this input has been received 306, the input is fed back 307 into the machine learning engine, under the direction of model creation and training module 111. Known machine learning techniques can be used for improving machine learning engine performance in response to such feedback, for example by suggesting modifications to selected tests and/or test parameters”). The courts have recognized the following computer functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity: Storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-93.
In addition, when taken as an ordered combination, the ordered combination adds nothing that is not already present as when the elements are taken individually. There is no indication that the combination of elements integrates the abstract idea into a practical application. Their collective functions merely provide conventional computer implementation. Therefore, when viewed as a whole, these additional claim elements do not provide meaningful limitations to transform the abstract idea into a practical application of the abstract idea or that the ordered combination amounts to significantly more than the abstract idea itself.
The dependent claims recite the following additional elements: a processor to store information, the processor used to display a map with information (claims 23, 25, 27, 30, 32, 35, 37, and 39) (the examiner notes that a display of a map is considered mental process concept which can be implement using the aid of pen and paper, while the display of and communicating with a computing device is considered extra-solution activity). However, these elements fail to integrate the abstract idea into a practical application because they fail to provide an improvement to the functioning of a computer or to any other technology or technical field, fail to apply the exception with a particular machine, fail to effect a transformation of a particular article to a different state or thing, and fail to apply/use the abstract idea in a meaningful way beyond generally linking the use of the judicial exception to a particular technological environment. Furthermore, these elements have been fully considered, however they are directed to the use of generic computing elements (Applicant’s Specification (Applicant’s Specification [0043] describes high level general purpose computer)) to perform the abstract idea, which is not sufficient to amount to a practical application (as noted in MPEP 2106) and is tantamount to simply saying “apply it” using a general purpose computer, which merely serves to tie the abstract idea to a particular technological environment (computer based operating environment) by using the computer as a tool to perform the abstract idea, which is not sufficient to amount to particular application. The examiner further notes that the “train and build a machine learning model” merely represents computer/ processor environment automatically executing predefined models, and mere instructions to apply/implement/automate an abstract idea in a particular technological environment and merely limiting the use of an abstract idea to a particular field or technological environment do not eliminate existence of an abstract idea, do not provide practical application for an abstract idea and do not provide significantly more to an abstract idea MPEP 2106.05(f) &(h)). See also, Affinity Labs of Texas LLC v. DirecTV LLC, 838 F.3d 1253, 1257-1258 (Fed. Cir. 2016) (mere recitation of a GUI does not make a claim patent-eligible); Intellectual Ventures I LLC v. Capital One Bank, 792 F.3d 1363, 1370 (Fed. Cir. 2015) (“the interactive interface limitation is a generic computer element”)). The courts have recognized the following computer functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity: Storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-9. These elements have been considered, but merely serve to tie the invention to a particular operating environment (i.e., computer-based implementation), though at a very high level of generality and without imposing meaningful limitation on the scope of the claim. In addition, Applicant’s Specification ([0043]) describes generic off-the-shelf computer-based elements for implementing the claimed invention, and which does not amount to significantly more than the abstract idea, which is not enough to transform an abstract idea into eligible subject matter. Such generic, high-level, and nominal involvement of a computer or computer-based elements for carrying out the invention merely serves to tie the abstract idea to a particular technological environment, which is not enough to render the claims patent-eligible, as noted at pg. 74624 of Federal Register/Vol. 79, No. 241, citing Alice, which in turn cites Mayo. Lastly, the machine learning model and algorithms are considered well-understood, routine, and conventional in the art, and therefore do not add significantly more to the claims. See, e.g., You et al, US 2012/0191531 (par. 37: “model 514 may comprise, for example, a model obtained using any of a variety of well-known machine learning techniques”). See also, Tung et al., US 2020/0285569 A1 (par. 89: “[0089] Once this input has been received 306, the input is fed back 307 into the machine learning engine, under the direction of model creation and training module 111. Known machine learning techniques can be used for improving machine learning engine performance in response to such feedback, for example by suggesting modifications to selected tests and/or test parameters”).
The dependent claims have been fully considered as well, however, similar to the finding for claims above, these claims are similarly directed to the abstract idea of mental processes and certain method of organizing human activity, without integrating it into a practical application and with, at most, a general-purpose computer that serves to tie the idea to a particular technological environment, which does not add significantly more to the claims. The ordered combination of elements in the dependent claims (including the limitations inherited from the parent claim(s)) add nothing that is not already present as when the elements are taken individually. There is no indication that the combination of elements improves the functioning of a computer or improves any other technology. Their collective functions merely provide conventional computer implementation. Accordingly, the subject matter encompassed by the dependent claims fails to amount to significantly more than the abstract idea.
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 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.
The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 21-25, 28-32, and 35-39 are rejected under 35 U.S.C. 103 as being unpatentable over Anselmo Myungsup Shim (US 2024/0257056 A1, hereinafter “Shim”) in view Nilesh Jain (US 2024/0020219 A1, hereinafter “Jain”) in view of Hung Dinh (US 2022/0237500 A1, hereinafter “Dinh”) in view of ZeMing M. Gao (US 2021/0073696 A1, hereinafter “Gao”).
Claim 21/28/35
Shim teaches:
A computing system for assisting software deployment testing, the computing system comprising: a non-transitory storage device; a processor operatively coupled with the storage device; and a test class application stored in the storage device and including executable code that, when executed, causes the processor ([0081]- [0083] disclose computing system comprises processor memory, where the processor(s) 1102 may also be responsible for executing all computer applications stored in memory 1104, which can be associated with common types of volatile (RAM) and/or nonvolatile (ROM) memory )to,
receive and store in the storage device team identifications of a first plurality of teams able to perform the software deployment testing using the test classes([0016] the computing device may retrieve, from the database, documentations required to complete the project and associate the documentations with the plurality of tasks of the project. The computing device may present a first view of the graphical user interface on the plurality of platforms. As discussed herein, the first view may include at least information of a first documentation required for a first task, a first team that enforces the first task, status of the first task, issues generated while enforcing the first task, team that enforces the first task.),
data including the team identifications of the teams in the first plurality of teams performing the testing, completion times of the test classes([0016] the computing device may retrieve, from the database, documentations required to complete the project and associate the documentations with the plurality of tasks of the project. the first view may include at least information of a first documentation required for a first team that enforces the first task. Fig. 7 illustrates completion of execution of each of the test classes by storing a completion symbol in the map in association with the completed test class i.e., column 706. [0074] At operation 1006, the computing device may sequentially present subsequent views of the graphical user interface according to the workflow, each of the subsequent views including at least a completion status of previous tasks and information of a current documentation associated with a current task. As the computing device monitors the progress of the project deployment, the completion status of each phase along the workflow may be updated to the graphical user interface.);
generate a test class map listing the determined order of execution of the determined test classes and the initial assignments of each of the teams in the second plurality of teams to a different one of the determined test classes, and store the test class map in the storage device(Shim discloses Fig. 7; [0015] The graphical user interface may demonstrate a dynamic workflow to complete the project and display the real-time information associated with the deployment. [0016] The computing device may present a first view of the graphical user interface on the plurality of platforms. As discussed herein, the first view may include at least information of a first documentation required for a first task, a first team that enforces the first task, status of the first task, issues generated while enforcing the first task, etc. [0018] the computing device may track all activities on the plurality of platforms that are associated with completing the project. Data associated with these activities may be stored in the centralized database, where [0053] The team at the lab testing phase 606 may perform validation on the project design in a lab environment, detect bugs and fix issues associated with the project design, etc. The team at the ATS testing phase 608 may perform ATP tracking, review the checklist and/or documents for production, onboard the new hardware to the network infrastructure, etc.),
display the test class map on at least one computing device display for viewing by the assigned teams(Shim discloses Fig. 7; [0015] The graphical user interface may demonstrate a dynamic workflow to complete the project and display the real-time information associated with the deployment. The computing device may transmit the data associated with the graphical user interface to the plurality of platforms, causing the graphical user interface to be displayed on the computing devices/servers on the plurality of platforms. [0016] The computing device may present a first view of the graphical user interface on the plurality of platforms. As discussed herein, the first view may include at least information of a first documentation required for a first task, a first team that enforces the first task, status of the first task, issues generated while enforcing the first task, etc. where [0053] The team at the lab testing phase 606 may perform validation on the project design in a lab environment, detect bugs and fix issues associated with the project design, etc. The team at the ATS testing phase 608 may perform ATP tracking, review the checklist and/or documents for production, onboard the new hardware to the network infrastructure, etc. ),
and respond to completion of execution of each of the determined test classes by reassigning the assigned team to an unassigned one of the determined test classes not yet completed and updating the assignments in the displayed test class map(Shim Fig. 7; [0015] The graphical user interface may demonstrate a dynamic workflow to complete the project and display the real-time information associated with the deployment. [0017] Upon determining that the current task is completed, the computing device may update the graphical user interface to guide a downstream team in the workflow to execute a subsequent task(testing the test class), where [0053] The team at the lab testing phase 606 may perform validation on the project design in a lab environment, detect bugs and fix issues associated with the project design, etc. The team at the ATS testing phase 608 may perform ATP tracking, review the checklist and/or documents for production, onboard the new hardware to the network infrastructure, etc. ).
While Shim teaches in paragraph [0020] The computing device may determine one or more teams to engage the project such as a design team, a lab testing team, an advanced technology support (ATS) testing team, FOA production team, etc. The computing device may align the one or more teams according to the standardized workflow of the project and generate a graphical user interface to guide the one or more teams to complete their respective tasks following the workflow. The design team may gather information related to the release criteria, documentations required to complete the project, previous versions of the software, etc. The lab testing team may validate the design in a lab environment before the new software and/or the new version is released to the components of the network. In some examples, the lab testing team may validate the design that bundles the previous versions of the software. The ATS testing team may further test the new software in the network after it is released to the network components, Shim does not explicitly teach the following, however analogous reference, Jain teaches:
receive and store in the storage device a plurality of test classes adapted to perform software deployment testing on software applications([0030] testing server 170 receives a test suite containing multiple (typically, a large number of) test cases to be used for testing the functionalities and/or specific requirements associated with a software application. [0035] multiple test suites may be stored in data store 180 and an identifier indicating the test suite to be used may be received from one of end-user systems 110. [0039] It may be appreciated that the dependency data indicates the dynamic dependencies between the test cases and components in view of the dependency being determined based on actual execution of the test cases/components. In contrast, static dependencies are determined based on the inspection of test case code/software application code).
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify Shim to incorporate the teachings of Jain to include receive and store in the storage device a plurality of test classes adapted to perform software deployment testing on software applications. One would have been motivated to do so in order to ensure correct validation of interdependent component of testing software. (Jain paras. [0061]- [0066]).
While Shim teaches in paragraph [0020] The computing device may determine one or more teams to engage the project such as a design team, a lab testing team, an advanced technology support (ATS) testing team, FOA production team, etc. The computing device may align the one or more teams according to the standardized workflow of the project and generate a graphical user interface to guide the one or more teams to complete their respective tasks following the workflow. The design team may gather information related to the release criteria, documentations required to complete the project, previous versions of the software, etc. The lab testing team may validate the design in a lab environment before the new software and/or the new version is released to the components of the network. In some examples, the lab testing team may validate the design that bundles the previous versions of the software. The ATS testing team may further test the new software in the network after it is released to the network components, Shim does not explicitly teach the following, however analogous reference, Dinh teaches:
train and build a machine learning model using training data from previously executed software deployment testing(Dinh discloses [0061] The system 60 includes a prediction processor 66 for using a machine learning algorithm, trained using data stored in the training database 64. ), the training data including ones of the test classes used, an order of execution of the test classes used, and errors discovered by the testing(Dinh discloses [0070] The method 70 continues with a process 72 storing, in a training database, parametric training data obtained from performance of the test suite on devices other than the given device; that is, historical testing data. The training database may be the training database 64 or other means suitable for storing data. The training data may include a plurality of records, each record relating to a test and including data indicating both success or failure of the test, and one or more of: a unique device identifier, a device operating system identifier, a device testing application version, a device model identifier, a test identifier, a test cycle number, a dependency tree identifier, and a dependency tree level identifier.),
deploy the model and use the model to determine ones of the test classes to be used for testing a selected software application based upon the training data(Dinh discloses [0063] The system 60 includes a reordering processor 67 for creating, for performance on the given device 62, a test suite comprising the plurality of tests rearranged according to a modified order. The reordering processor 67 combines the tests predicted to fail by the prediction processor 66, where [0061] The system 60 includes a prediction processor 66 for using a machine learning algorithm, trained using data stored in the training database 64),
use the model to determine an order of execution of the determined test classes based upon the training data(Dinh discloses [0063] The system 60 includes a reordering processor 67 for creating, for performance on the given device 62, a test suite comprising the plurality of tests rearranged according to a modified order. The reordering processor 67 combines the tests predicted to fail by the prediction processor 66, where [0061] The system 60 includes a prediction processor 66 for using a machine learning algorithm, trained using data stored in the training database 64),
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify Shim and Jain to incorporate the teachings of Dinh to include train and build a machine learning model to process data from previously executed software deployment testing, the training data including ones of the test classes used, an order of execution of the test classes used, and errors discovered by the testing and deploy the model to determine ones of the test classes to be used for testing a selected software application based upon the training data use the model to determine an order of execution of the determined test classes based upon the training data as part of the system taught in Shim. One would have been motivated to do so in order to ensure correct validation of interdependent component. (Paras. [0070]).
While Shim teaches in paragraph [0020] The computing device may determine one or more teams to engage the project such as a design team, a lab testing team, an advanced technology support (ATS) testing team, FOA production team, etc. The computing device may align the one or more teams according to the standardized workflow of the project and generate a graphical user interface to guide the one or more teams to complete their respective tasks following the workflow. The design team may gather information related to the release criteria, documentations required to complete the project, previous versions of the software, etc. The lab testing team may validate the design in a lab environment before the new software and/or the new version is released to the components of the network. In some examples, the lab testing team may validate the design that bundles the previous versions of the software. The ATS testing team may further test the new software in the network after it is released to the network components, Shim does not explicitly teach the following, however analogous reference, Gao teaches:
receive the team identifications of a second plurality of ones of the teams in the first plurality of teams that are available to perform the software deployment testing on the selected software application and use the model to make initial assignments of the teams in the second plurality of teams to the determined test classes based upon the completion times and/or the errors discovered from the previously executed software deployment testing(Gao discloses [0092] In order to support this exponential cascade of e tasks and vents, project management & task assignment module 210B preferably automates both the identification and assignment of resources based on type and availability. and the layer-two assignment is configured to select one from the enterprise resources mapped to the selected virtual enterprise resource to execute the respective task by using the task descriptions. [0095] The system 200 would look at current workers that are capable of handling the task type and then include additional information, including but not limited to information regarding availability, cost, predicated time of completion with probability of success within that time, and scheduled time that this task must be completed. After that, the project management & task assignment module 210B would assign the task accordingly, and may also communicate the resource identification back to the ERP system 210 or the service in services 220 from which the task was originated. [0175] The layer-two assignment can be random, rule-based, or machine learning-based, or any combination thereof).
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify Shim, Jain, and Dinh to incorporate the teachings of Gao to include receive the team identifications of a second plurality of ones of the teams in the first plurality of teams that are available to perform the software deployment testing on the selected software application and use the model to make initial assignments of the teams in the second plurality of teams to the determined test classes based upon the completion times and/or the errors discovered from the previously executed software deployment testing(task). One would have been motivated to do so in order to facilitate efficient task assignment. (paragraph [0155]).
Claim 22/29/36
Shim further teaches:
The computing system according to Claim 21 wherein the processor responds to the completion of execution of each of the determined test classes by storing a completion symbol in the storage device in association with the completed test class (Fig. 7 illustrates completion of execution of each of the test classes by storing a completion symbol in the map in association with the completed test class i.e., column 706. [0032] the standardized template and/or the new template may define the information to be included in the graphical user interface including but not limited to, the teams engaged in the project (e.g., business units, technical teams, etc.), the documentations required to check by each individual team, actions required to complete before moving forward to the next team, issues occurred during the deployment, ticket status in real-time, ATS testing/verification status, aging status, versions of the software already implemented in the network infrastructure, etc. [0074] At operation 1006, the computing device may sequentially present subsequent views of the graphical user interface according to the workflow, each of the subsequent views including at least a completion status of previous tasks and information of a current documentation associated with a current task. As the computing device monitors the progress of the project deployment, the completion status of each phase along the workflow may be updated to the graphical user interface. [0038] the computing device/server 206 may save the information associated with the project deployment in the database 204, e.g., the collected activities at the multiple platforms during the deployment. As discussed herein, the database 204 may be a centralized database that stores the standardized templates associated with various projects, the documentations required for deploying the various projects, tickets issued during the deployments, bugs/fixes generated during the deployments, etc.).
Claims 23/30/37
Shim further teaches:
The computing system according to Claim 22 wherein the processor adds the completion symbol to the displayed test class map(Fig. 7 illustrates completion of execution of each of the test classes by storing a completion symbol in the map in association with the completed test class i.e., column 706. [0074] At operation 1006, the computing device may sequentially present subsequent views of the graphical user interface according to the workflow, each of the subsequent views including at least a completion status of previous tasks and information of a current documentation associated with a current task. As the computing device monitors the progress of the project deployment, the completion status of each phase along the workflow may be updated to the graphical user interface. ).
Claim 24/31/38
Shim further teaches:
The computing system according to Claim 21 wherein the processor responds to the completion of execution of each of the determined test classes by storing an elapsed time of execution in the storage device in association with the completed test class (Fig. 7 illustrates completion of execution of each of the test classes by storing an elapsed time of execution in the map in association with the completed test class i.e., opened and closed(elapsed time) which illustrated start and end time of execution in the map. [0038] the computing device/server 206 may save the information associated with the project deployment in the database 204, e.g., the collected activities at the multiple platforms during the deployment. As discussed herein, the database 204 may be a centralized database that stores the standardized templates associated with various projects, the documentations required for deploying the various projects, tickets issued during the deployments, bugs/fixes generated during the deployments, etc.).
Claim 25/32/39
Shim further teaches:
The computing system according to Claim 21 wherein the processor responds to the completion of execution of each of the determined test classes by storing an elapsed time of execution in the storage device in association with the completed test class (Fig. 7 illustrates completion of execution of each of the test classes by storing an elapsed time of execution in the map in association with the completed test class i.e., opened and closed(elapsed time) which illustrated start and end time of execution in the map. [0038] the computing device/server 206 may save the information associated with the project deployment in the database 204, e.g., the collected activities at the multiple platforms during the deployment. As discussed herein, the database 204 may be a centralized database that stores the standardized templates associated with various projects, the documentations required for deploying the various projects, tickets issued during the deployments, bugs/fixes generated during the deployments, etc.).
Claims 26-27, 33-34, and 40 are rejected under 35 U.S.C. 103 as being unpatentable over Shim in view Jain in view Dinh in view of Gao, as applied in claims 1 and 14, Momin Mirza (US 2016/0314066 A1, hereinafter “Mirza”).
Claim 26/33/40
While Shim teaches in paragraph [0020] The computing device may determine one or more teams to engage the project such as a design team, a lab testing team, an advanced technology support (ATS) testing team, FOA production team, etc. The computing device may align the one or more teams according to the standardized workflow of the project and generate a graphical user interface to guide the one or more teams to complete their respective tasks following the workflow. The design team may gather information related to the release criteria, documentations required to complete the project, previous versions of the software, etc. The lab testing team may validate the design in a lab environment before the new software and/or the new version is released to the components of the network. In some examples, the lab testing team may validate the design that bundles the previous versions of the software. The ATS testing team may further test the new software in the network after it is released to the network components and paragraph [0057] discloses a view window 704 may be presented concurrently on the graphical user interface. The view window 704 may display a plurality of status associated with the action items in the view window 702. For instance, the view window 704 may display, for multiple action items in the view window 702, a lab testing status 706, a lab verification status 708, FOA entry gating status 710, ticket status 712, SOA tracking status 714, etc. As the graphical user interface shows the status associated with the workflow of the deployment, all teams engaged with the project may have an up-to-date view of the progress of the entire project workflow. Shim does not explicitly teach the following, however analogous reference, in the field of task management and assignment, Mirza teaches:
The computing system according to Claim 21 wherein the processor responds to the completion of execution of each of the determined test classes by storing an error report in the storage device in association with the completed test class, the error report listing all errors detected during execution of the test class ([0049] Status module 330 may evaluate test results from test module 320 and may interpret test results in light of validation criteria (e.g., validation criteria 430). In one implementation, status module 330 may assign a status indicator to a particular technical step or set of steps based on results from test module 320. For example, a status indicator may include a color, a number, a letter, etc. As an example of a color-based status indicator, one color (e.g., green) may indicate acceptable performance, another color (e.g., yellow) may indicate degraded performance, and still another color (e.g., red) may indicate a failure. In other implementations, a numeric scale (e.g., 1-5), a letter code (e.g., A, B, C, D, F), and/or key words (e.g., pass, fail, etc.) may be used as status indicators), ([0050] Status module 330 may also implement one or more algorithms to summarize a status of multiple technical steps (or subtasks) with a single status indicator. Depending on the algorithm, for example, status module 330 may summarize multiple subtasks that have degraded performance with a single ‘failure’ status. As another example, a group subtask that have a combination of acceptable and degraded indicators may be shown with an acceptable indication. In one implementation, status module 330 may present the summary status to users (e.g., via user interface module 360), while presenting the summary status and underlying subtasks status to customers (e.g., via customer interface module 370). [0048] Test module 320 may collect and store test results).
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify Shim, Jain, Dinh, and Gao to incorporate the teachings of Mirza to include the processor responds to the completion of execution of each of the test classes by storing an error report in the map in association with the completed test class. One would have been motivated to do so in order to provide tracking the issues or tasks for specific applications at the software/business layer. [0001].
Claim 27/34
While Shim teaches in paragraph [0020] The computing device may determine one or more teams to engage the project such as a design team, a lab testing team, an advanced technology support (ATS) testing team, FOA production team, etc. The computing device may align the one or more teams according to the standardized workflow of the project and generate a graphical user interface to guide the one or more teams to complete their respective tasks following the workflow. The design team may gather information related to the release criteria, documentations required to complete the project, previous versions of the software, etc. The lab testing team may validate the design in a lab environment before the new software and/or the new version is released to the components of the network. In some examples, the lab testing team may validate the design that bundles the previous versions of the software. The ATS testing team may further test the new software in the network after it is released to the network components and paragraph [0057] discloses a view window 704 may be presented concurrently on the graphical user interface. The view window 704 may display a plurality of status associated with the action items in the view window 702. For instance, the view window 704 may display, for multiple action items in the view window 702, a lab testing status 706, a lab verification status 708, FOA entry gating status 710, ticket status 712, SOA tracking status 714, etc. As the graphical user interface shows the status associated with the workflow of the deployment, all teams engaged with the project may have an up-to-date view of the progress of the entire project workflow. Shim does not explicitly teach the following, however analogous reference, in the field of task management and assignment, Mirza teaches:
The computing system according to Claim 26 wherein the processor adds the error report to the displayed test class map ([0049] Status module 330 may evaluate test results from test module 320 and may interpret test results in light of validation criteria (e.g., validation criteria 430). In one implementation, status module 330 may assign a status indicator to a particular technical step or set of steps based on results from test module 320. For example, a status indicator may include a color, a number, a letter, etc. As an example of a color-based status indicator, one color (e.g., green) may indicate acceptable performance, another color (e.g., yellow) may indicate degraded performance, and still another color (e.g., red) may indicate a failure. In other implementations, a numeric scale (e.g., 1-5), a letter code (e.g., A, B, C, D, F), and/or key words (e.g., pass, fail, etc.) may be used as status indicators), ([0050] Status module 330 may also implement one or more algorithms to summarize a status of multiple technical steps (or subtasks) with a single status indicator. Depending on the algorithm, for example, status module 330 may summarize multiple subtasks that have degraded performance with a single ‘failure’ status. As another example, a group subtask that have a combination of acceptable and degraded indicators may be shown with an acceptable indication. In one implementation, status module 330 may present the summary status to users (e.g., via user interface module 360), while presenting the summary status and underlying subtasks status to customers (e.g., via customer interface module 370). [0048] Test module 320 may collect and store test results).
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify Shim, Jain, Dinh, and Gao to incorporate the teachings of Mirza to include the processor responds to the completion of execution of each of the test classes by storing an error report in the map in association with the completed test class. One would have been motivated to do so in order to provide tracking the issues or tasks for specific applications at the software/business layer. [0001].
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Adarsh Ramakrishna(US 20170075791 A1): methods and systems are provided for executing tests in a system that includes a user system and a cloud-based computing platform communicatively coupled to the user system. he user system includes a processing system, memory and an input system that receives input parameters specified by a user of the user system. The memory can store a test class filter module executable by the processing system. Upon being executed by the processing system, the test class filter module can, based on one or more of the input parameters, group and filter test class identifiers to generate a unique test class identifier array of filtered test class identifiers that correspond to a particular subset of tests that are to be executed during testing of an application.
Victor Chung-Wai Chan(US 20150127400 A1):systems and methods for a team-based approach to skills-based agent assignment in task routing systems. According to one embodiment, performing skills-based task assignments in a task routing system can comprise identifying a team of agents. The team of agents can comprise a plurality of agents handling a currently assigned task but expected to become available for assignment of a new task. Each agent of the team of agents can be earmarked to one of a plurality of new tasks selected from a queue of tasks. At some point, one of the agents of the team can be detected as being available and the agent detected as being available can be assigned to one of the plurality of new tasks based at least in part on consideration of the earmarking of the agents of the team to the plurality of new tasks.
Yaron Avisror (US 20190294531 A1):A computer system is configured to provide automated testing of a second build combination based on retrieving, from a data store, test result data indicating execution of a plurality of test cases for a first build combination that includes a software artifact that has been modified relative to a previous build combination. A subset of the test cases is associated with the software artifact based on the test result data, where the subset includes test cases that failed the execution of the test cases for the first build combination. Automated testing is executed for a second build combination including the software artifact, where the automated testing includes the subset of the test cases.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to REHAM K ABOUZAHRA whose telephone number is (571)272-0419. The examiner can normally be reached M-F 7:00 AM to 5:00 PM.
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, Brian Epstein can be reached at (571)-270-5389. 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.
/REHAM K ABOUZAHRA/ Examiner, Art Unit 3625
/BRIAN M EPSTEIN/ Supervisory Patent Examiner, Art Unit 3625