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
Notice to Applicant
In response to the communication received on 09/01/2026, the following is a Final Office Action for Application No. 19087715.
Status of Claims
Claims 1-20 are pending.
Priority
As required by M.P.E.P. 201.14(c), acknowledgement is made of applicant’s claim for priority based on: 19087715 filed 03/24/2025 is a Continuation of 17660085 , filed 04/21/2022 ,now U.S. Patent # 12271847 and having 1 RCE-type filing therein; 17660085 Claims Priority from Provisional Application 63201274 , filed 04/21/2021.
Response to Amendments
Applicant’s amendments have been fully considered. Applicant’s Terminal Disclaimer filed and approved on 09/01/2026 overcomes the Double Patenting rejection, and hence the Double Patenting rejection has been withdrawn.
Response to Arguments
Applicant’s arguments with respect to the claims have been considered but are moot in light of the new grounds of rejection, as necessitated by amendment.
As per the 101 rejection, Applicant argues that the claims are in favor of eligibility per Prong One of Step 2A, however Examiner respectfully disagrees. Per Prong One of Step 2A, the identified recitation of an abstract idea falls within at least one of the Abstract Idea Groupings consisting of: Mathematical Concepts, Mental Processes, or Certain Methods of Organizing Human Activity. Particularly, the identified recitation falls within the Mental Processes including concepts performed in the human mind (including an observation, evaluation judgment, opinion) and/or Certain Methods of Organizing Human Activity including managing personal behavior or relationships or interactions between people (including social activities, teaching, and following rules of instructions). Since the recitation of the claims falls into at least one of the above Groupings, there is a basis for providing further analysis with regard to Prong Two of Step 2A to determine whether the recitation of an abstract idea is deduced to being directed to an abstract idea. Thus, the rejection is maintained.
Applicant argues that the claims are in favor of eligibility per Prong Two of Step 2A, however Examiner respectfully disagrees. Per Prong Two of Step 2A, this judicial exception is not integrated into a practical application because the claim as a whole does not integrate the identified abstract idea into a practical application. The computer, processor and/or memory medium is recited at a high level of generality, i.e., as a generic processor performing a generic computer function of processing/transmitting data. This generic processor server limitation is no more than mere instructions to apply the exception using a generic computer component. Further, computer, processor and/or memory medium to inter alia perform the function of sending a request specifying a user for which the custom code action is executed to an action web address is mere instruction to apply an exception using a generic computer component which cannot integrate a judicial exception into a practical application. Accordingly, this/these additional element(s) does/do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. In other words, the present claims use a generic processing device and memory medium to inter alia perform the function of sending a request specifying a user for which the custom code action is executed to an action web address which is a concept that can be performed in the human mind. The processor is merely used to perform the function(s), and the processor does not integrate the abstract idea into a practical application since there are no meaningful limits on practicing the abstract idea. Thus, since the claims are directed to the determined judicial exception in view of the two prongs of Step 2A, the 2019 PEG flowchart is directed to Step 2B. Thus, the rejection is maintained.
Applicant argues that the claims are in favor of eligibility per Step 2B, however Examiner respectfully disagrees. Therein, the additional elements and combinations therewith are examined in the claims to determine whether the claims as a whole amounts to significantly more than the judicial exception. It is noted here that the additional elements are to be considered both individually and as an ordered combination. In this case, the claims each at most comprise additional elements of: computer, processor and/or memory medium. Taken individually, the additional limitations each are generically recited and thus does not add significantly more to the respective limitations. Further, computer, processor and/or memory medium to inter alia perform the function of sending a request specifying a user for which the custom code action is executed to an action web address is mere instruction to apply an exception using a generic computer component which cannot provide an inventive concept in Step 2B (or, looking back to Step 2A, cannot integrate a judicial exception into a practical application). For further support, the Applicant’s specification supports the claims being directed to use of a generic computer/memory type structure. Taken as an ordered combination, the claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception because the limitations are directed to limitations referenced in Alice Corp. that are not enough to qualify as significantly more when recited in a claim with an abstract idea include the non-limiting or non-exclusive examples of MPEP § 2106.05. Thus, the rejection is maintained.
In an effort to further expedite prosecution, see: Appendix 1 to the October 2019 Update: Subject Matter Eligibility, Life Sciences & Data Processing Examples, October 2019 30, Example 46. Livestock Management. Per claim 1 of Example 46, the memory, display and processor are recited so generically (no details whatsoever are provided other than that they are a memory, display and processor) that they represent no more than mere instructions to apply the judicial exception on a computer. These limitations can also be viewed as nothing more than an attempt to generally link the use of the judicial exception to the technological environment of a computer. As an exemplary direction for similar claim limitations to be eligible, see claims 2-4 of Example 46.
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 as directed to non-statutory subject matter.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more. In adhering to the 2019 PEG, Step 1 is directed to determining whether or not the claims fall within a statutory class. Herein, the claims fall within statutory class of process or machine or manufacture. Hence, the claims qualify as potentially eligible subject matter under 35 U.S.C §101. With Step 1 being directed to a statutory category, the 2019 PEG flowchart is directed to Step 2. Step 2 is the two-part analysis from Alice Corp. (also called the Mayo test). The 2019 PEG makes two changes in Step 2A: It sets forth new procedure for Step 2A (called “revised Step 2A”) under which a claim is not “directed to” a judicial exception unless the claim satisfies a two-prong inquiry. The two-prong inquiry is as follows: Prong One: evaluate whether the claim recites a judicial exception (an abstract idea enumerated in the 2019 PEG, a law of nature, or a natural phenomenon). If claim recites an exception, then Prong Two: evaluate whether the claim recites additional elements that integrate the exception into a practical application of the exception. The claim(s) recite(s) the following abstract idea indicated by non-boldface font and additional limitations indicated by boldface font:
A computer-implemented method for creating and using a custom action, the method comprising: creating a new workflow associated with an event; adding a custom code action to the new workflow triggering the new workflow, in response to an occurrence of the event, to execute the custom code action against an object, enrolled within a customer relationship management system with the new workflow as an enrolled object, wherein execution of the custom code action includes: populating an input field for the new workflow with a value pulled from a property, on the enrolled object, designated for workflows; and sending, to an action web address, a request specifying a user for which the custom code action is executed and values to enter for action inputs of the custom code action.
[or]
A computer-implemented method for creating and using a custom action, the method comprising: opening a previously created workflow associated with one or more events; adding a custom code action to the previously created workflow; triggering the previously created workflow, in response to an occurrence of the event, to execute the custom code action against an object, enrolled within a customer relationship management system with the previously created workflow as an enrolled object, wherein execution of the custom code action includes: populating an input field for the previously created workflow with a value pulled from a property, on the enrolled object, designated for workflows; and sending, to an action web address, a request specifying a user for which the custom code action is executed and values to enter for action inputs of the custom code action
[or]
A non-transitory computer readable storage medium having a plurality of instructions stored thereon which, when executed across one or more processors, causes at least a portion of the one or more processors to perform operations comprising: creating a new workflow associated with an event; adding a custom code action to the new workflow; triggering the new workflow, in response to an occurrence of the event, to execute the custom code action against an object, enrolled within a customer relationship management system with the new workflow as an enrolled object, wherein execution of the custom code action includes: populating an input field for the new workflow with a value pulled from a property, on the enrolled object, designated for workflows; and sending, to an action web address, a request specifying a user for which the custom code action is executed and values to enter for action inputs of the custom code action.
Per Prong One of Step 2A, the identified recitation of an abstract idea falls within at least one of the Abstract Idea Groupings consisting of: Mathematical Concepts, Mental Processes, or Certain Methods of Organizing Human Activity. Particularly, the identified recitation falls within the Mental Processes including concepts performed in the human mind (including an observation, evaluation judgment, opinion) and/or Certain Methods of Organizing Human Activity including managing personal behavior or relationships or interactions between people (including social activities, teaching, and following rules of instructions). Per Prong Two of Step 2A, this judicial exception is not integrated into a practical application because the claim as a whole does not integrate the identified abstract idea into a practical application. The computer, processor and/or memory medium is recited at a high level of generality, i.e., as a generic processor performing a generic computer function of processing/transmitting data. This generic processor and/or memory medium limitation is no more than mere instructions to apply the exception using a generic computer component. Further, creating a new workflow or opening a previously created workflow by a computer, processor and/or memory medium is mere instruction to apply an exception using a generic computer component which cannot integrate a judicial exception into a practical application. Accordingly, this/these additional element(s) does/do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. Thus, since the claims are directed to the determined judicial exception in view of the two prongs of Step 2A, the 2019 PEG flowchart is directed to Step 2B. Therein, the additional elements and combinations therewith are examined in the claims to determine whether the claims as a whole amounts to significantly more than the judicial exception. It is noted here that the additional elements are to be considered both individually and as an ordered combination. In this case, the claims each at most comprise additional elements of: computer, processor and memory medium. Taken individually, the additional limitations each are generically recited and thus does not add significantly more to the respective limitations. Further, creating a new workflow or opening a previously created workflow by a computer, processor and/or memory medium is mere instruction to apply an exception using a generic computer component which cannot provide an inventive concept in Step 2B (or, looking back to Step 2A, cannot integrate a judicial exception into a practical application). For further support, the Applicant’s specification supports the claims being directed to use of a generic computer/memory type structure at ¶0687 wherein “Software may include and/or rely on firmware, processor microcode, an operating system (OS), a basic input/output system (BIOS), application programming interfaces (APIs)”. Taken as an ordered combination, the claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception because the limitations are directed to limitations referenced in Alice Corp. that are not enough to qualify as significantly more when recited in a claim with an abstract idea include, as a non-limiting or non-exclusive examples: i. Adding the words "apply it" (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, e.g., a limitation indicating that a particular function such as creating and maintaining electronic records is performed by a computer, as discussed in Alice Corp., 134 S. Ct. at 2360, 110 USPQ2d at 1984 (see MPEP § 2106.05(f));
PNG
media_image1.png
18
19
media_image1.png
Greyscale
ii. Simply appending well-understood, routine, conventional activities previously known to the industry, specified at a high level of generality, to the judicial exception, e.g., a claim to an abstract idea requiring no more than a generic computer to perform generic computer functions that are well-understood, routine and conventional activities previously known to the industry, as discussed in Alice Corp., 134 S. Ct. at 2359-60, 110 USPQ2d at 1984 (see MPEP § 2106.05(d));
PNG
media_image1.png
18
19
media_image1.png
Greyscale
iii. Adding insignificant extra-solution activity to the judicial exception, e.g., mere data gathering in conjunction with a law of nature or abstract idea such as a step of obtaining information about credit card transactions so that the information can be analyzed by an abstract mental process, as discussed in CyberSource v. Retail Decisions, Inc., 654 F.3d 1366, 1375, 99 USPQ2d 1690, 1694 (Fed. Cir. 2011) (see MPEP § 2106.05(g)); or
PNG
media_image1.png
18
19
media_image1.png
Greyscale
v. Generally linking the use of the judicial exception to a particular technological environment or field of use, e.g., a claim describing how the abstract idea of hedging could be used in the commodities and energy markets, as discussed in Bilski v. Kappos, 561 U.S. 593, 595, 95 USPQ2d 1001, 1010 (2010) or a claim limiting the use of a mathematical formula to the petrochemical and oil-refining fields, as discussed in Parker v. Flook. The courts have recognized the following computer functions inter alia to be well-understood, routine, and conventional functions when they are claimed in a merely generic manner: performing repetitive calculations; receiving, processing, and storing data (e.g., the present claims); electronically scanning or extracting data; electronic recordkeeping; automating mental tasks (e.g., process/machine/manufacture for performing the present claims); and receiving or transmitting data (e.g., the present claims). The dependent claims do not cure the above stated deficiencies, and in particular, the dependent claims further narrow the abstract idea without reciting additional elements that integrate the exception into a practical application of the exception or providing significantly more than the abstract idea. Since there are no elements or ordered combination of elements that amount to significantly more than the judicial exception, the claims are not eligible subject matter under 35 USC §101. Thus, viewed as a whole, these additional claim element(s) do not provide meaningful limitation(s) to transform the abstract idea into a patent eligible application of the abstract idea such that the claim(s) amounts to significantly more than the abstract idea itself. Therefore, the claim(s) are rejected under 35 U.S.C. 101 as being directed to non-statutory subject matter.
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 of this title, 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 factual inquiries 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 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Myers et al. (US 20210073026 A1) hereinafter referred to as Myers in view of Simonovic et al. (US 20180053328 A1) hereinafter referred to as Simonovic in further view of Hoberman (US 20190004773 A1) hereinafter referred to as Hoberman.
Myers teaches:
Claim 1. A computer-implemented method for creating and using a custom action, the method comprising:
creating a new workflow associated with an event;adding a custom code action to the new workflow (¶0049 As shown in FIG. 1A, in stage (A), a workflow library 106 is created or updated. This can involve creating, modifying, testing, and/or validating workflows to be included in the workflow library 106.106 As shown, a first workflow library 106 includes five workflows: a first workflow for patching software (“Workflow 1”), a second workflow for updating a cache of a computer system (“Workflow 2”), a third workflow for emptying a trash folder of a file system (“Workflow 3”), a fourth workflow for reloading an online analytical processing (OLAP) data cube (“Workflow 4”), and a fifth workflow for importing a data source (“Workflow 5”). The administrator 104 may upload the new or modified workflow library 106 to the workflow publishing server 110 over the network 140 or over a different network ¶0080 The operations of the workflow may be conditional on one or more events being satisfied. These conditions may be temporal conditions, e.g., a date, an elapse of a certain amount of time, etc. These conditions may be satisfied through a triggering event, e.g., the occurrence of an error or a particular error, an instruction or action by a server manager or administrator, a state of the server system, a server load threshold being met, etc. These conditions may be satisfied through the successful performance of one or more higher order operations in the set of operations, e.g., operations that are to be performed before the operation at issue. ¶0031 The workflows can be configured to allow administrators to modify the received workflows. For example, an administrator may modify workflows to better address particular problems or errors experienced by the a server, to customize how the workflows are to be implemented, to select a data source to be used by a workflow, to select a destination to be used by a workflow, to link multiple workflows so the execute together, etc. ¶0040 When a system receives a workflow from the workflow publishing server 110, the workflow can be customized before it is run. In general, workflows each specify a set of operations to be performed. The workflow can designate the performance of operations to be conditional on the occurrence of particular events or conditions. A workflow may contain mutually exclusive alternatives or branching sets of operations, where one set of operations is performed instead of another set based on the conditions that are satisfied.);
triggering the new workflow, in response to an occurrence of the event, to execute the custom code action against an object, enrolled within a customer relationship management system with the new workflow as an enrolled object (¶0080 The operations of the workflow may be conditional on one or more events being satisfied. These conditions may be temporal conditions, e.g., a date, an elapse of a certain amount of time, etc. These conditions may be satisfied through a triggering event, e.g., the occurrence of an error or a particular error, an instruction or action by a server manager or administrator, a state of the server system, a server load threshold being met, etc. These conditions may be satisfied through the successful performance of one or more higher order operations in the set of operations, e.g., operations that are to be performed before the operation at issue. ¶0085 Implementing the modified workflows 128 in the server 120 may involve running (e.g., processing) the modified workflows 128, scheduling one or more times to run each of the modified workflows 128, or setting one or more other conditions (e.g., triggering events) for each of the modified workflows 128 that when satisfied result in running the modified workflows 128. Implementing the modified workflows 128 in the server 120 may involve stringing a workflow from the modified workflows 128 to another workflow, such that the processing of one of the strung workflows is a precondition to the processing of the other strung workflow. ¶0190 Similarly, if the workflow publishing server 410 determines that an operation in the workflow generally or always requires a particular level of authentication (e.g., based on documents, logs, or other data from computer systems that have previously requested workflows and/or are registered to receive workflows), the workflow publishing server 410 may modify the workflow to require the corresponding level of authentication to perform the workflow, or may flag particular operations of the workflow as requiring the corresponding level of authentication. These operations that require authentication may include those that may present a security risk, such as, for example, the collection of personal or confidential data, the upload of data to remote (and/or unrelated) server systems, the installation of software, the removal of software, the modification of software, etc.),
wherein execution of the custom code action includes: populating an input field for the new workflow with a value pulled from a property, on the enrolled object, designated for workflows; and sending, to an action web address, a request specifying a user for which the custom code action is executed and values to enter for action inputs of the custom code action (¶0047 The techniques disclosed in this document can increase the efficiency and accuracy of server system management. One or more workflows can be accessed, implemented, and processed in order to automate many tasks that would otherwise require significant manual input. In addition, by reducing the amount of manual input needed, server system management using the disclosed techniques is less prone to errors and/or reaction inconsistencies. The disclosed techniques further improve the efficiency and accuracy of server system management by, in some implementations, recommending specific workflows for a particular system based on of their server system and/or their determined needs. The recommended workflows may be determined based on an analysis of one or more error reports or error logs for a system. The recommended workflows may be determined based on analysis of previous actions taken, such as a log of actions that an administrator took to maintain or adjust a server. The recommended workflows may be selected by leveraging one or more machine learning. ¶0207 The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).).
Although not explicitly taught by Myers, Simonovic teaches in the analogous art of systems for processing computational workflows:
triggering the new workflow, in response to an occurrence of the event, to execute the custom code action against an object, (¶0078 In some embodiments, workflow execution can begin by creating an initiation event, such as by providing a value for a variable to the dynamic graph 1020, which can trigger processing of the workflow. FIG. 9B illustrates a method 920 of processing a workflow according to an embodiment of the disclosure. ¶0089 Allowing for the concurrent execution of tools A and B, this would result in a minimum execution time of 120 seconds. Workflow processing engines of the disclosure can do better. As shown in the second stage 1114 of the dynamic graph 1110, the rollout of the container node 1102 into the dynamic graph 1110, along with triggered updates of the dynamic graph (e.g., using the method 920 of FIG. 9B), results in the output from tool A to be immediately provided to tool E once it completes. Accordingly, the first output of the container node 1102 can be supplied immediately to the downstream node 1106, without waiting for the entire contents of node 1102 to complete. This ability to look ahead to downstream jobs leads to a minimum execution time of only 90 seconds for this workflow.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the systems for processing computational workflows of Simonovic with the system for validating and publishing computing workflows from remote environments of Myers for the following reasons:
(1) a finding that there was some teaching, suggestion, or motivation, either in the references themselves or in the knowledge generally available to one of ordinary skill in the art, to modify the reference or to combine reference teachings, e.g. Myers ¶0003 teaches that it is desirable to ensure proper operation and to deal with errors and limitations;
(2) a finding that there was reasonable expectation of success since the only difference between the claimed invention and the prior art being the lack of actual combination of the elements in a single prior art reference, e.g. Myers ¶0004 teaches a workflow publishing server that receives workflows contributed from other systems, tests and validates the workflows, and publishes the workflows to other systems, and Simonovic Abstract teaches a system of processing a computational workflow; and
(3) whatever additional findings based on the Graham factual inquiries may be necessary, in view of the facts of the case under consideration, to explain a conclusion of obviousness, e.g. Myers at least the above cited paragraphs, and Simonovic at least the inclusively cited paragraphs.
Therefore, it would be obvious to one skilled in the art at the time of the invention to combine the systems for processing computational workflows of Simonovic with the system for validating and publishing computing workflows from remote environments of Myers. The rationale to support a conclusion that the claim would have been obvious is that "a person of ordinary skill in the art would have been motivated to combine the prior art to achieve the claimed invention and whether there would have been a reasonable expectation of success in doing so." DyStar Textilfarben GmbH & Co. Deutschland KG v. C.H. Patrick Co., 464 F.3d 1356, 1360, 80 USPQ2d 1641, 1645 (Fed. Cir. 2006). See MPEP 2143(G).
Although not explicitly taught by Myers in view of Simonovic, Hoberman teaches in the analogous art of systems for development and deployment of software platforms having advanced workflow and event processing components:
wherein execution of the custom code action includes: populating an input field for the new workflow with a value pulled from a property, on the enrolled object, designated for workflows; and sending, to an action web address, a request specifying a user for which the custom code action is executed and values to enter for action inputs of the custom code action (¶0022 One particularly useful control component is a decision component. Generally speaking, the decision component permits actions to be executed by background processes of the electronic forms in response to detecting specified inputs or events. The actions can be executed in real-time as the electronic forms are being filled out without having to reload a webpage or application that is presenting the electronic forms. The decision component includes a customization interface that enables users to identify a first set of components to be monitored in real-time as the forms are being filled out, to identify actions that should be executed in connection with a second set of components in response to inputs received via the first set of components, and to specify logic and/or conditions that determine if and when such actions should be executed. ¶0023 Another useful control component is the workflow component. Generally speaking, the workflow component enables a non-technical user to design custom background processes that enable advanced processing of inputs received via an electronic form and outputs presented on the electronic form. The workflow component is versatile and can be tailored to accommodate a wide variety of functions. A customization interface associated with the workflow component enables a node diagram to be defined for incorporating dynamic processing operations into the electronic form. Input nodes, processing nodes, and output nodes can be inserted into the diagram and mapped to one another to define the dynamic operations. The input nodes can correspond to fields or components of the electronic form that are monitored in real-time to detect when inputs are received. Each of the input nodes can be mapped to one or more processing nodes which can perform various operations on the data received via the input nodes. ¶0037 The electronic forms 155 can include web-based forms (e.g., which are accessible via a network 160 that includes the Internet) and/or local application forms 155 (e.g., which are presented by local applications running a computing device 110 and/or server 120). In certain embodiments, the electronic forms 155 can be implemented using Hypertext Markup Language (HTML) and/or one or more web-based programming languages (e.g., such as JavaScript, PHP, CSS, Perl, SQL, Ruby, and/or other web-based languages). ¶0088 The advanced control components 315 enable users to customize functions of the electronic form 155 relating to controlling workflow, navigation, and event handling. In many cases, the advanced control components may not be visible to customers or users that access completed forms that have been deployed. Rather, the advanced control components 315 can operate as background processes that control aspects of the workflow, navigation, and event handling for the electronic forms 155. ¶0102 FIGS. 8 and 9A-9B disclose exemplary interfaces that can be provided in connection with certain control components 315. More specifically, FIG. 8 is an exemplary customization interface 800 that can enable a user to customize a decision component in accordance with certain embodiments, and FIGS. 9A-9B are exemplary customization interfaces 900A and 900B that can enable a user to customize for a workflow component in accordance with certain embodiments.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the systems for development and deployment of software platforms having advanced workflow and event processing components of Hoberman with the system for validating and publishing computing workflows from remote environments of Myers in view of Simonovic for the following reasons:
(1) a finding that there was some teaching, suggestion, or motivation, either in the references themselves or in the knowledge generally available to one of ordinary skill in the art, to modify the reference or to combine reference teachings, e.g. Myers ¶0003 teaches that it is desirable to ensure proper operation and to deal with errors and limitations;
(2) a finding that there was reasonable expectation of success since the only difference between the claimed invention and the prior art being the lack of actual combination of the elements in a single prior art reference, e.g. Myers ¶0004 teaches a workflow publishing server that receives workflows contributed from other systems, tests and validates the workflows, and publishes the workflows to other systems, and Simonovic Abstract teaches a system of processing a computational workflow, and Hoberman Abstract teaches a platform that includes graphical user interfaces that enable users to drag-and-drop or otherwise insert components into a development window to define the content, functionality, workflow, background processes, and other criteria for the electronic forms; and
(3) whatever additional findings based on the Graham factual inquiries may be necessary, in view of the facts of the case under consideration, to explain a conclusion of obviousness, e.g. Myers in view of Simonovic at least the above cited paragraphs, and Hoberman at least the inclusively cited paragraphs.
Therefore, it would be obvious to one skilled in the art at the time of the invention to combine the systems for development and deployment of software platforms having advanced workflow and event processing components of Hoberman with the system for validating and publishing computing workflows from remote environments of Myers in view of Simonovic. The rationale to support a conclusion that the claim would have been obvious is that "a person of ordinary skill in the art would have been motivated to combine the prior art to achieve the claimed invention and whether there would have been a reasonable expectation of success in doing so." DyStar Textilfarben GmbH & Co. Deutschland KG v. C.H. Patrick Co., 464 F.3d 1356, 1360, 80 USPQ2d 1641, 1645 (Fed. Cir. 2006). See MPEP 2143(G).
Myers teaches:
Claim 2. The method of claim 1, further comprising a workflow system for controlling, configuring, and executing the new workflow in a platform, wherein the workflow system utilizes an automation application programming interface (API) to provide functionality with respect to the new workflow (¶0092 A workflow can indicate a sequence of multiple operations that are to be performed in a predetermined order. Examples of operations include checking a software version of a server, checking the most recent software version, comparing software versions, downloading software, uploading software, identifying data, uploading data, storing data, downloading data, deleting or clearing data, comparing data, determining destinations, and/or determining sources. As an example, a workflow may include an operation to check the version of software currently used by a particular server, to check the most recent version of the software, and to compare the currently used version with the most recent version.).
Myers teaches:
Claim 3. The method of claim 1, further comprising defining the custom code action with at least one input and a web address such that when the custom code action is triggered, at least one request is sent to the web address with a payload (¶0080 The operations of the workflow may be conditional on one or more events being satisfied. These conditions may be temporal conditions, e.g., a date, an elapse of a certain amount of time, etc. These conditions may be satisfied through a triggering event, e.g., the occurrence of an error or a particular error, an instruction or action by a server manager or administrator, a state of the server system, a server load threshold being met, etc. ¶0148 The metadata may include what permissions are needed for the workflow 408a, what software versions the workflow 408a works with, what additional fields or customizations are needed for the workflow 408a (e.g., a user must provide a server address, a trash emptying time period/frequency, a maximum trash size threshold limit, etc.), what resources the workflow 408a may access, and/or a summary of the types of steps in the workflow 408a (e.g., a workflow classification) or a result of the workflow 408a. ¶0037 A server system may provide a configuration interface (e.g., through an application on a client device, a web page, a web application, etc.) that allows an administrator to configure the operation of the server system. ¶0046 In the example of FIGS. 1A-1B, the workflow publishing server 110 provides workflows for the management of a computing platform that includes software run by the servers 120 and 130. For example, the platform may be a data analytics software platform that includes one or more applications or services, e.g., web server functionality, functionality to access data repositories, query response functionality, functionality to generate visualizations, and so on).
Myers teaches:
Claim 4. The method of claim 1, further comprising defining the custom code action with workflow- related information for the new workflow, a preferred request format for requests received, an action name, and at least one action input (¶0019 In some implementations, testing the workflow includes: automatically generating a plurality of computing environments that each have a different combination of software and/or settings; and testing the workflow by monitoring execution of the operations of the workflow by each of the plurality of computing environments. ¶0073 the workflow module 118a may include, for example, instructions to (i) check the software version (e.g., current software version and/or required software version), (ii) compare the current software version with the required software version, (iii) download a patch for the required software version, and (iv) install the patch for the required software version. The workflow module 118a can be arranged and formatted so that the client device 112 or another device receiving the workflow module 118a can automatically perform some or all of the operations of the specified workflow upon receiving and processing the workflow module 118a. ¶0143 In some implementations, when the validation testing module 420 tests the workflow 408a for performance, the workflow monitoring server 410 may calculate a relative performance index (RPI) for the server environment. The RPI is a normalized performance value that is independent (or nearly independent) of the characteristics of a particular server environment.).
Myers teaches:
Claim 5. The method of claim 4, wherein the custom code action includes at least one input option that defines at least one set of valid values for the action input, and wherein the at least one input option is of a static list or a webhook web address (¶0143 In some implementations, when the validation testing module 420 tests the workflow 408a for performance, the workflow monitoring server 410 may calculate a relative performance index (RPI) for the server environment. The RPI is a normalized performance value that is independent (or nearly independent) of the characteristics of a particular server environment.).
Myers teaches:
Claim 6. The method of claim 1, further comprising determining a success of the custom code action being triggered by examining a status code returned that indicates at least one of: an action completed successfully, an action failed, or a temporary problem with service (¶0099 In some cases, one or more workflows specify operations that involve accessing data from a data repository or data indicating operational characteristics of a data repository. As an example, a data repository may include a server, e.g. an on-premises server or a third-party server, or part of a server. As an example, a data repository may include a database. As an example, a data repository may include cloud storage that is provided by a cloud-computing platform. As an example, operational characteristics of the data repository may include log data for accesses to the data repository, a status of the data repository (e.g., an indication of whether or not it is experiencing an error or has recently experienced an error), a number of requests for data within the data repository, performance characteristics (e.g., an average time to process requests for data within with data repository, a maximum time, etc.) ¶0187 If any of these requirements or prequisites are not met, the workflow publishing server 410 may determine that the workflow, in its current form, should not be published. Depending on the type and severity of issue identified, e.g., based on which criterion is not satisfied and whether that failure can be corrected, the system may determine to modify the workflow and publish the modified workflow or to block publication entirely.).
Myers teaches:
Claim 7. The method of claim 1, wherein the event is defined as a change in a platform such that the platform provides one or more actions including at least one of configuring or setting properties, sending emails, sending notifications, or calling one or more web addresses based, at least partially, on the change in the platform (¶0148 The metadata may include what permissions are needed for the workflow 408a, what software versions the workflow 408a works with, what additional fields or customizations are needed for the workflow 408a (e.g., a user must provide a server address, a trash emptying time period/frequency, a maximum trash size threshold limit, etc.), what resources the workflow 408a may access, and/or a summary of the types of steps in the workflow 408a (e.g., a workflow classification) or a result of the workflow 408a. ¶0037 A server system may provide a configuration interface (e.g., through an application on a client device, a web page, a web application, etc.) that allows an administrator to configure the operation of the server system. ¶0046 In the example of FIGS. 1A-1B, the workflow publishing server 110 provides workflows for the management of a computing platform that includes software run by the servers 120 and 130. For example, the platform may be a data analytics software platform that includes one or more applications or services, e.g., web server functionality, functionality to access data repositories, query response functionality, functionality to generate visualizations, and so on.).
Myers teaches:
Claim 8. The method of claim 1, wherein the custom code action includes a function that when executed allows for a platform to operate on data that is associated with the new workflow (¶0035 The commands that a workflow instructs to be performed can be commands to invoke functions of software already installed on a computer system, such as functions of an operating system, applications, tools, and so on that are already installed on the computer system. A workflow may also initiate other types of actions, such as interacting with another system using an application programming interface (API), changing settings of the computer or connected system, and so on. In some implementations, the workflow itself may include executable code to be run. ¶0046 In the example of FIGS. 1A-1B, the workflow publishing server 110 provides workflows for the management of a computing platform that includes software run by the servers 120 and 130. For example, the platform may be a data analytics software platform that includes one or more applications or services, e.g., web server functionality, functionality to access data repositories, query response functionality, functionality to generate visualizations, and so on.).
Myers teaches:
Claim 9. The method of claim 8, wherein the data relates to enrollment of one or more objects, including at least one of a core object or a custom object (¶0182 With respect to FIG. 4A, the workflow publishing server 410 may perform an analysis of the one or more computer operations. For example, the workflow publishing server 410 may parse instructions specifying the one or more operations to identify the types of operations instructed resources (e.g., files, data sources, data elements, software objects, hardware elements, interfaces, and so on) that the operations interact with. For example, the workflow publishing server 410 can parse through the workflow to record particular commands, API calls, content, metadata, etc. of each of the one or more operations, and data sources, data fields, outside systems such as servers, etc. that the one or more operations interact with.).
Myers teaches:
Claim 10. The method of claim 1, wherein the custom code action provides at least one of: a process for keeping user data organized by reformatting data or a process for driving other processes (¶0199 The workflow publishing server 402 may proceed to compare each of the workflows in the group with user action logs of the first server 402 to identify the workflows containing operations that are most similar to or match the operations in the user action logs. The workflow publishing server 402 may determine a similarity score for each of the workflows, and may apply a minimum similarity threshold to eliminate workflows from recommendation that are not adequately similar. The remaining workflows may be ranked based on their similarity score. The workflow publishing server 402 may proceed to generate a notification to be transmitted to the first server 402 or to a particular user of the first server 402 (e.g., an administrator) that indicates the recommended workflows, their rankings, and/or their similarity scores.).
Myers teaches:
Claim 11. The method of claim 1, wherein the custom code action provides at least one of: data cleanup, data formatting and reformatting, advanced lead rotation, service level agreement (SLA) management, verification of customer data inputs based on an external service, or advanced customer onboarding automation (¶0019 In some implementations, testing the workflow includes: automatically generating a plurality of computing environments that each have a different combination of software and/or settings; and testing the workflow by monitoring execution of the operations of the workflow by each of the plurality of computing environments. ¶0073 the workflow module 118a may include, for example, instructions to (i) check the software version (e.g., current software version and/or required software version), (ii) compare the current software version with the required software version, (iii) download a patch for the required software version, and (iv) install the patch for the required software version. The workflow module 118a can be arranged and formatted so that the client device 112 or another device receiving the workflow module 118a can automatically perform some or all of the operations of the specified workflow upon receiving and processing the workflow module 118a. ¶0094 when either the first condition or the second condition is not satisfied, the server running the workflow may automatically abort the workflow and/or may automatically restart the workflow, e.g. after a predetermined amount of time. Similarly, when both the first condition and the second condition are not satisfied, the server running the workflow may automatically abort the workflow and/or may automatically restart the workflow, e.g. after a predetermined amount of time. ¶0214 In each instance where an HTML file is mentioned, other file types or formats may be substituted. For instance, an HTML file may be replaced by an XML, JSON, plain text, or other types of files. Moreover, where a table or hash table is mentioned, other data structures (such as spreadsheets, relational databases, or structured files) may be used.).
As per claims 12-19, and 20, the method and non-transitory computer readable storage medium tracks the method of claims 1,2,4,6-9,11 and 1, respectively, resulting in substantially similar limitations. The same cited prior art and rationale of claims 1,2,4,6-9,11 and 1 are applied to claims 12-19, and 20, respectively. Myers discloses that the embodiment may be found as a system and manufacture (Fig. 1 and ¶0073). Further limitations stated in claim 12 that are not in claim 1 are as follows; however,
Myers teaches:
opening a previously created workflow associated with one or more events (¶0076 As shown in FIG. 1B, in stage (F), the user 124, through an interface 126 of the client device 122, inspects the requested workflows 118 and generates a set of modified workflows 128 from the requested workflows 118. ¶0157 In FIG. 4B, the workflow 408a undergoes validation testing and modification by the validation testing module 420 of the workflow monitoring server 410. As shown, the validation testing module 420 starts with the workflow 408a.).
Conclusion
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 KURTIS GILLS whose telephone number is (571)270-3315. The examiner can normally be reached M-F 8-5 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, Jerry O’Connor can be reached on 571-272-6787. 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.
/KURTIS GILLS/Primary Examiner, Art Unit 3624