DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 1-20 have been submitted for examination and are pending further prosecution by the United States Patent & Trademark Office.
Allowable Subject Matter
Claims 2-10, 12, 13 and 17-20 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Claim Objections
The following claims are objected to because of antecedence and informality issues. It is suggested Applicants amend these claims as follows:
Claim 5
-- 5. The method according to claim 1, wherein [[the]] execution data of the execution instance comprises a quantity of instances in queue and a quantity of instances in execution; and --
-- determining, if the quantity of instances in queue is equal to the first default parameter, and the quantity of instances in execution is equal to the second default parameter, that the execution data of the execution instance is detected to meet an [[the]] execution end condition. --
Claim 6
-- [[the]] performing, according to an execution status of a function block instance associated with the execution instance, accumulative processing or decrementing processing on the quantity of instances in queue, and accumulating or decrementing the quantity of instances in execution comprises: --
-- accumulating [[the]] queue instance data when the target function block instance is pushed to a [[the]] function block instance queue; and --
Claim 8
-- sequentially obtaining a first function block instance associated with the execution instance in the function block instance queue as a to-be-processed function block instance, the to-be-processed function block instance corresponding to a to-be-processed function block instance identifier and a to-be-processed function block instance index, the to-be-processed function block instance identifier and the to-be-processed function block instance index being generated when the to-be-processed function block instance is created according to a to-be-processed function code block, the to-be-processed function block instance index being configured for representing a quantity of execution of the to-be-processed function code block, and the to-be-processed function code block belonging to the at least two function code blocks; --
Claims 7, 9 and 10 are additionally objected to due to their dependence on objected parent claim(s).
Appropriate correction is required.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1, 11 and 16 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by "KNIME Flow Control Guide" - hereinafter "KNIME Flow Control".
With respect to claim 1, KNIME Flow Control teaches,
A data processing method, performed by a computer device, comprising:
creating an execution instance corresponding to a target workflow, - "Loops iterate over a certain part of the workflow." (page 11, line 1). "You have two ways of executing a loop. Complete execution: Right click the Loop End node and choose Execute from the context menu. Now a yellow loop sign is shown at the Loop End node while the loop steps are executed." (page 15, "Loop Commands"); the execution instance comprising a pointing relationship between at least two function code blocks comprised in the target workflow, and the at least two function code blocks comprising a loop start function code block and a loop end function code block; - "A loop in KNIME begins with a Loop Start node and ends with a Loop End node. The operations that are performed for each iteration are executed in the loop body. Generally, the Loop Start node is responsible for increasing the iteration counter and for sending the data to the loop body, which is then responsible for executing sub-workflow steps. After those are performed the Loop End node checks if the end condition is fulfilled, and if this is not the case the Loop Start node increases the counter and performs the loop body operations again. When the end condition is fulfilled, the Loop End node collects the data from the different iterations and the next step in the workflow is performed." (page 11, lines 6-13. See also Figure 13).
obtaining a loop parameter corresponding to the loop start function code block; - "Generally, the Loop Start node is responsible for increasing the iteration counter and for sending the data to the loop body, which is then responsible for executing sub-workflow steps." (page 11, lines 7-9).
determining a function code block between the loop start function code block and the loop end function code block as a loop function code block according to the pointing relationship; and - "The loop in Figure 13, which is available on KNIME Hub, is an example where the Chunk LoopStart node is used to iterate over a table, which contains ten rows filled with the letter A, created with the Table Creator node." (page 11, lines 14-16). "The Chunk Loop Start node takes three rows of the input table and sends a chunk of the data to the loop body, which is made of a Value Counter node. Finally, a Loop End node collects the results of each loop iteration and ends the loop when the condition of reaching the last row of the input data is fulfilled." (page 11, lines 17-20).
looping the loop function code block according to the loop parameter and the pointing relationship. - "Generally, the Loop Start node is responsible for increasing the iteration counter and for sending the data to the loop body, which is then responsible for executing sub-workflow steps." (page 11, lines 7-9). "The Chunk Loop Start node takes three rows of the input table and sends a chunk of the data to the loop body, which is made of a Value Counter node. Finally, a Loop End node collects the results of each loop iteration and ends the loop when the condition of reaching the last row of the input data is fulfilled." (page 11, lines 17-20).
With respect to claim 11, KNIME Flow Control teaches,
receiving a trigger request for the target workflow, and creating the execution instance corresponding to the target workflow. - "Loops iterate over a certain part of the workflow." (page 11, line 1). "You have two ways of executing a loop. Complete execution: Right click the Loop End node and choose Execute from the context menu. Now a yellow loop sign is shown at the Loop End node while the loop steps are executed." (page 15, "Loop Commands");
With respect to claim 16, KNIME Flow Control teaches,
A computer device, comprising: a processor, a memory, and a network interface; the processor being connected to the memory and the network interface, the network interface being configured to provide a data communication function, the memory being configured to store program code, and the processor being configured to invoke the program code to perform a data processing method, performed by a computer device, comprising: - The limitations recited by this claim are rejected using the mapping from analogous claim 1.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 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.
Claim 14 is rejected under 35 U.S.C. 103 as being unpatentable over "KNIME Flow Control Guide" - hereinafter "KNIME Flow Control", in view of "KNIME Server User Guide " - hereinafter "KNIME Server".
With respect to claim 14, KNIME does not explicitly teach the following limitations which, in the analogous field of workflows, are taught by KNIME Server as follows:
wherein the trigger request comprises a timer trigger request; and - "In the Scheduling options tab, shown in Figure 14, you can check the option Schedule job to choose the day and time of the First execution and then choose either to repeat the execution every n minutes, hours, or days, or to repeat it at fixed start times." (page 18)
the receiving a trigger request for the target workflow, and creating the execution instance corresponding to the target workflow comprises: - Fig. 14
receiving the timer trigger request for the target workflow, and obtaining a specified execution time from the timer trigger request; and - Fig. 14
creating the execution instance corresponding to the target workflow when system time is the same as the specified execution time. - Fig. 14
It would have been obvious for one of ordinary skill in the art before the effective filing date of the invention to implement KNIME Flow Control with KNIME Server's teachings because doing so would provide KNIME Flow Control's system with the ability to provide user's with flexibility by automating workflow execution, as suggested by KNIME Server (page 18).
Claim 15 is rejected under 35 U.S.C. 103 as being unpatentable over "KNIME Workbench Guide" - hereinafter "KNIME Workbench", in view of "KNIME Flow Control Guide" - hereinafter "KNIME Flow Control, and in view of "KNIME Server User Guide " - hereinafter "KNIME Server".
With respect to claim 15, KNIME Workbench teaches,
A data processing method, performed by a computer device, comprising:
displaying a workflow editing page in response to a creation operation for a target workflow; - "Create a new workflow editor going to File → New… and selecting the New KNIME Workflow option in the window that opens. Then click Next and give the new workflow a name in the field next to Name of the workflow to create: and click Finish. Other options are available as explained in the Building workflows section." (page 6:3-6) "In the new empty workflow editor, create a workflow by dragging nodes from the node repository to the workflow editor, then connecting, configuring, and executing them." (page 6:7-8)
displaying a workflow control tree formed by at least two function block controls on the workflow editing page in response to a selection and connection operation for the at least two function block controls, - "A workflow is built by dragging nodes from the node repository to the workflow editor and connecting them." (page 20:6-7) "Once two nodes are added to the workflow editor, they can be connected in any of these three ways: Click the output port of the first node and release the mouse at the input port of the second node. Now, the nodes are connected. Select a node in the workflow editor, and then double click the next node in the node repository. This double click creates a new node, and connects it to the selected node in the workflow editor. Select the nodes to connect in the workflow editor and press "Ctrl + L" (page 21:1-6);
creating a target workflow in response to a creation operation for the workflow control tree, - "In the new empty workflow editor, create a workflow by dragging nodes from the node repository to the workflow editor, then connecting, configuring, and executing them." (page 6:7-8); - "A workflow is built by dragging nodes from the node repository to the workflow editor and connecting them." (page 20:6-7) "Once two nodes are added to the workflow editor, they can be connected in any of these three ways: Click the output port of the first node and release the mouse at the input port of the second node. Now, the nodes are connected. Select a node in the workflow editor, and then double click the next node in the node repository. This double click creates a new node, and connects it to the selected node in the workflow editor. Select the nodes to connect in the workflow editor and press "Ctrl + L" (page 21:1-6);
KNIME Workbench does not explicitly teach the following limitations which, in the analogous field of workflows, are taught by KNIME Flow Control as follows:
the at least two function block controls comprising a loop start function block control and a loop end function block control; - "KNIME Analytics Platform provides different loop start and loop end nodes for different types of loops. The loop start and loop end nodes are collected into Table 1 and Table 2." (page 12, lines 1-2)
setting a loop parameter for the loop start function block control in response to a trigger operation for the loop start function block control in the workflow control tree; - "Loops iterate over a certain part of the workflow." (page 11, line 1). "Counting Loop Start - Triggers loop for a predefined number of iterations" (page 12, row 1). "You have two ways of executing a loop. Complete execution: Right click the Loop End node and choose Execute from the context menu. Now a yellow loop sign is shown at the Loop End node while the loop steps are executed." (page 15, "Loop Commands")
the - "KNIME Analytics Platform provides different loop start and loop end nodes for different types of loops. The loop start and loop end nodes are collected into Table 1 and Table 2." (page 12, lines 1-2)
It would have been obvious for one of ordinary skill in the art before the effective filing date of the invention to implement KNIME Workbench with KNIME Flow Control's teachings because doing so would provide KNIME Workbench's system with the ability to facilitate control of workflow of operations in a needed direction, as suggested by KNIME Flow Control (page 1, lines 5-6).
KNIME Workbench does not explicitly teach the following limitations which, in the analogous field of workflows, are taught by KNIME Server as follows:
and transmitting the target workflow to a workflow engine, - "You can execute the workflows, saved on the Server repository from KNIME Analytics Platform. From KNIME Explorer right-click the workflow you want to execute and select Execute…from the context menu. The Server Execution Options window open, as shown in Figure 8." (page 12, lines 1-3) "Figure 8. The remote execution of a workflow on KNIME Server".
transmitting a trigger request for the target workflow to the workflow engine in response to a trigger operation for the target workflow. - "You can execute the workflows, saved on the Server repository from KNIME Analytics Platform. From KNIME Explorer right-click the workflow you want to execute and select Execute…from the context menu. The Server Execution Options window open, as shown in Figure 8." (page 12, lines 1-3) "Figure 8. The remote execution of a workflow on KNIME Server".
It would have been obvious for one of ordinary skill in the art before the effective filing date of the invention to implement KNIME Workbench and KNIME Flow Control with KNIME Server's teachings because doing so would provide KNIME Workbench/KNIME Flow Control's system with the ability to provide user's with flexibility by automating workflow execution, as suggested by KNIME Server (page 18).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. WO 9909498 A1 discloses a system and method for converting a graphical program into a programmable hardware implementation. US 11436044 B2 discloses a method and system for long-term programmatic workflow management.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to GEOFFREY R ST LEGER whose telephone number is (571)270-7720. The examiner can normally be reached M-F (IFP) ~9:00-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, Hyung S Sough can be reached at 571-272-6799. 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.
/GEOFFREY R ST LEGER/Primary Examiner, Art Unit 2192