Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTION
This communication is in response to: Application filed on November 20th, 2023
Claims 1-20 are pending claims.
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.
Claims 1–5, 8–10, 12–14, 17–20 are rejected under 35 U.S.C. §103 as being unpatentable over Klaka et al., US PG PUB# 2011/0307856 A1 (hereinafter Klaka) in view of Koo et al., US PG PUB# 2010/0026686 A1 (hereinafter Koo).
As for independent claim 1:
Klaka discloses method, performed by a computing device, of visualizing a run of a workflow on a graphical user interface (GUI) on a display device, the method comprising (0004, 0014, Klaka teaches receiving a workflow definition describing a sequence of connected steps representing tasks with defined execution paths (0001), (0026):
Klaka does not disclose rendering an origin node of the workflow at a central position of the GUI and an innermost ring around the central position; adding to the first ring of the GUI, independent nodes representing respective tasks invoked by the workflow that are not dependent on any other task, the independent nodes being added in order of invocation in a distributed manner, together with edges drawn from the origin node to respective added independent nodes of the first ring; rendering one or more outer rings around the innermost ring of the GUI; adding to each of the one or more outer rings of the GUI, dependent nodes representing respective tasks invoked by the workflow that are dependent on another task represented by another node on another ring closer to the origin node, the dependent nodes being added in the order of invocation in a distributed manner, together with edges drawn to each added dependent node of the one or more outer rings from all nodes representing tasks upon which the respective task represented by that dependent node is dependent.
Koo discloses
rendering an origin node of the workflow at a central position of the GUI and an innermost ring around the central position (Koo discloses rendering a head node (Node 1) at the center of concentric circles, and drawing an innermost ring around the center position 0053, 0055), Fig. 9B);
adding to the first ring of the GUI, independent nodes representing respective tasks invoked by the workflow that are not dependent on any other task, the independent nodes being added in order of invocation in a distributed manner, together with edges drawn from the origin node to respective added independent nodes of the first ring (0053, 0055, Koo discloses cluster head is arranged at the center of the concentric circles, see Fig 9B. Nodes Node2 and Node3, lower-level nodes of Node1, are arranged on the second circle from the center. Nodes Node4 to Node6, lower-level nodes of the node Node2 or Node3, are arranged on the third circle. These nodes connect directly to the origin without any intermediate dependency; they are the first-order nodes invoked by the head node);
rendering one or more outer rings around the innermost ring of the GUI (Koo discloses rendering additional concentric circles (outer rings) around the innermost ring Figs 9B, 11; 0053, 0064);
adding to each of the one or more outer rings of the GUI, dependent nodes representing respective tasks invoked by the workflow that are dependent on another task represented by another node on another ring closer to the origin node, the dependent nodes being added in the order of invocation in a distributed manner, together with edges drawn to each added dependent node of the one or more outer rings from all nodes representing tasks upon which the respective task represented by that dependent node is dependent (Koo discloses adding child nodes (Node4, Node5, Node6) to outer concentric circles based on their hop count from the center node, where each child node is dependent on a parent node located on an inner ring closer to the origin 0053, 0054, 0057, 0064, The gap between nodes is adjusted with the increasing number of nodes present on the same circle. The visualization information producer 735
transforms polar coordinates of a ‘Level(r)’ value (hop count) and a ‘Theta’ value to rectangular coordinates). Accordingly it would have been obvious before the effective filing date of the claimed invention to a skilled artisan to modify the method of Klaka to incorporate the teaching of Koo of display network topology on concentric circles, thus allow viewing parent and child nodes along with preventing overlap display of nodes (Koo, 0053, 0054).
As for dependent claim 2:
Klaka–Koo discloses the method of claim 1, wherein adding independent nodes, dependent nodes, and edges includes: rendering the independent nodes with coloration or shading representing a completion status of the workflow; rendering each dependent node with coloration or shading representing a completion status of one or more tasks upon which that dependent node is dependent; and rendering each edge with coloration or shading representing a completion status of the respective task represented by the node from which that edge was drawn (Klaka discloses annotating each workflow step with status icons based on workflow execution state information 0026, 0046, see Klaka claim 7. Klaka discloses a status icon associated with each step of the workflow displays one of: “in progress”, “complete”, “errored”, and “cancelled” status defined by the workflow execution state information. These status overlays are rendered on the diagram to indicate the completion status of individual workflow activities, see 0004, 0014).
As for dependent claim 3:
Klaka–Koo discloses the method of claim 2, wherein the method is performed in real-time as the workflow run is being executed, each node being added as it is invoked (Klaka discloses showing major actions for visualizing workflow state at workflow runtime and render time. Klaka further discloses that workflow execution state is saved upon serialization during workflow runtime, and every time the workflow instance executes, the server updates the activity details with the updated execution history of the activity tree in 0029 and 0030). Koo discloses that topology information updates when receiving nodes information and the visualization updates in response to changes in node data 0010, 0016, 0062).
As for dependent claim 4:
Klaka–Koo discloses the method of claim 2, wherein the method is performed after the workflow run has finished execution; and the completion status of each independent node, dependent node, and edge is drawn from a set including completed successfully, pending, not invoked, and failed. (0029, Klaka discloses storing execution state data for subsequent rendering 0030, 0046, see Klaka claim 10).
As for dependent claim 5:
Klaka–Koo discloses the method of claim 1, wherein adding independent nodes and dependent nodes includes maintaining a position of previously-added nodes (0057-0059, Koo discloses that when new nodes are added to the concentric circle visualization, the positions of already-placed nodes are maintained. Also see 0062, when a node is added, new node information can be automatically visualized through automatic adjustment of gaps between nodes on concentric circles without user intervention).
As for dependent claim 8:
Klaka–Koo discloses the method of claim 1, wherein adding the independent nodes to the innermost ring in the distributed manner includes: initially distributing the independent nodes between a first pair of quadrants of the innermost ring in an equitable manner; and once the first pair of quadrants have been filled, distributing the independent nodes between a second pair of quadrants of the innermost ring in an equitable manner (Koo discloses distributing nodes around a concentric circle by dividing 360 degree by the number of nodes on that circle 0057, and using a BasisAngle value set to the Theta of the parent node to position child nodes, with automatic gap adjustment to prevent overlapped of nodes (0054-0057, 0062).
As for dependent claim 9:
An Official Notice is taken that it is well known in the art of displaying graph visualization to determine the placement position of a node having multiple parent nodes by computing an average of the radial or angular positions of the parent nodes and placing the child node at the nearest available position to the computed average. This technique is a standard approach in hierarchical and radial graph layout algorithms for positioning nodes with multiple incoming edges. Thus renders the following claim as obvious before the effective filing date of the claimed invention to a skilled artisan :wherein adding the dependent nodes to the one or more outer rings in the distributed manner includes, for each dependent node in a particular ring: determining an average radial position of all nodes representing tasks upon which the respective task represented by that dependent node is dependent that are in a ring immediately adjacent to the particular ring; and placing that dependent node at a closest available position on the particular ring, subject to a direction preference.
As for dependent claim 10:
Klaka–Koo discloses the method of claim 1, wherein adding edges drawn to each added dependent node of the one or more outer rings includes: for each edge to each added dependent node on an outer ring from a respective node on the immediately adjacent ring closer to the origin node, rendering that edge completely between the outer ring and the immediately adjacent ring without passing across a hole in the immediately adjacent ring; and for each edge to each added dependent node on an outer ring from a respective node on a non-adjacent ring closer to the origin node, rendering that edge through the hole in the immediately adjacent ring (Koo discloses drawing edges (links) between child nodes on outer rings and parent nodes on inner rings 0061, 0062).
As for independent claim 12:Claim 12 contains substantial subject matter as claimed in claim 1 and is respectfully rejected along the same rationale.
As for dependent claims 13-14,Claims 13, 14 contain substantial subject matter as claimed in claims 2, 5 and are respectfully rejected along the same rationale.
As for dependent claims 17-19Claims 17-19 contain substantial subject matter as claimed in claims 8, 9, 10 and are respectfully rejected along the same rationale.
As for independent claim 20:Claim 20 contains substantial subject matter as claimed in claim 1 and is respectfully rejected along the same rationale.
Claims 6–7, 11, 15–16 are rejected under 35 U.S.C. §103 as being unpatentable over Klaka et al., US PG PUB# 2011/0307856 A1, hereinafter Klaka) in view of Koo et al., US PG PUB# 2010/0026686 A1 (hereinafter Koo), and further in view of Duplessis et al., US PG PUB# 2011/0249002 A1 (hereinafter Duplessis).
As for dependent claim 6:
Klaka–Koo doesn’t disclose wherein each of the innermost ring and the one or more outer rings has a respective maximum number of allowed positions at which nodes may be added; and adding independent nodes and dependent nodes includes, in response to the maximum number of allowed positions for a ring being exceeded, adding additional tasks for that ring to all be represented by a single overflow node depicted on that ring. Duplessis discloses wherein each of the innermost ring and the one or more outer rings has a respective maximum number of allowed positions at which nodes may be added; and adding independent nodes and dependent nodes includes, in response to the maximum number of allowed positions for a ring being exceeded, adding additional tasks for that ring to all be represented by a single overflow node depicted on that ring in 0021, 0026 Figs 3 and 4. In the cited section Duplessis discloses collapsing multiple nodes into a single group node that hides the contained nodes when the visual complexity exceeds manageable levels. The group node includes a node count value indicating how many nodes are represented 0026, 0030, also see expand/collapse icon 0033.
As for dependent claim 7:
Klaka–Koo- Duplessis discloses wherein the method further comprises, in response to a user clicking on the overflow node for a ring, re-rendering that ring to depict nodes representing all tasks that were represented by the overflow node for that ring as well as representing all tasks that were represented by other nodes of that ring prior to the user clicking on the overflow node (0033, Duplessis discloses wherein the method further comprises, in response to a user clicking on the overflow node for a ring, re-rendering that ring to depict nodes representing all tasks that were represented by the overflow node for that ring as well as representing all tasks that were represented by other nodes of that ring prior to the user clicking on the overflow node. In the cited section, Duplessis discloses expand/collapse icon 318 that toggles between expanded and collapsed views when selected 0033. When in collapsed view, selection of the icon expands the box to show all nodes of the group)
As for dependent claim 11:
Klaka–Koo–Duplessis discloses the method of claim 1, wherein the method further comprises, in response to a user hovering a cursor over an added independent node, dependent node, or edge, highlighting a path from the origin node to the added independent node, dependent node, or edge over which the cursor was hovering (0040, Duplessis discloses a navigation tool 802 where hovering or moving the tool over a desired link causes a popup information panel to be presented showing source and target node information, see Fig 8).
As for dependent claims 15, 16:
Claims 15, 16 contain substantial subject matter as claimed in claims 6, 7 and are respectfully rejected along the same rationale.
It is noted that any citation to specific, pages, columns, lines, or figures in the prior art references and any interpretation of the references should not be considered to be limiting in any way. A reference is relevant for all it contains and may be relied upon for all that it would have reasonably suggested to one having ordinary skill in the art. In re Heck, 699 F.2d 1331, 1332-33,216 USPQ 1038, 1039 (Fed. Cir. 1983) (quoting In re Lemelson, 397 F.2d 1006, 1009, 158 USPQ 275, 277 (CCPA 1968)).
The Examiner notes MPEP § 2144.01, that quotes In re Preda, 401 F.2d 825,159 USPQ 342, 344 (CCPA 1968) as stating “in considering the disclosure of a reference, it is proper to take into account not only specific teachings of the reference but also the inferences which one skilled in the art would reasonably be expected to draw therefrom.” Further MPEP 2123, states that “a reference may be relied upon for all that it would have reasonably suggested to one having ordinary skill the art, including nonpreferred embodiments. Merck & Co. v. Biocraft Laboratories, 874 F.2d 804, 10 USPQ2d 1843 (Fed. Cir.), cert. denied, 493 U.S. 975 (1989).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DAVID PHANTANA ANGKOOL whose telephone number is (571) 272-2673. The examiner can normally be reached M-F, 7:00-3:30 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, can Adam Queler be reached on 571-272-4140. 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.
/David Phantana-angkool/Primary Examiner, Art Unit 2172