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 .
This office action is responsive to the applicant’s correspondence filed on 09/16/2025.
Claims 1-2, 5-9, and 12-24 are pending.
Claims 1, 2, 7, 12, 13, 19, and 20 are amended.
Response to Arguments
Regarding claim objections:
Claims 2, 13, and 20 have been objected to because of the following informalities: The limitation “for each where used result that corresponds to an impact definition” should read “for each where-used result that corresponds to the impact definition.” The limitation “where-used” has been corrected, but the limitation “an impact definition” is not corrected. Therefore, the objection is maintained.
Regarding rejections under 35 USC § 101:
Applicant's arguments filed 09/16/2025 have been fully considered but they are not persuasive.
With respect to the remarks, page 1, regarding performing impact detection, the Examiner respectfully disagrees because this limitation amounts to a mental process.
To clarify, under broadest reasonable interpretation, the step of “performing impact detection” amounts to a mental process of mental judgment and evaluation including determining whether the where-used results correspond to an impact definition and evaluating the geometry or component changes with respect to the impact definitions to identify the potential impact. Regrading the limitation “first spatial area is defined as a bounding box or an irregular volume for the CAx model,” this further limits the data received regarding the first spatial area, and this limitation amounts to data gathering. A person can observe such received data and make a mental judgment and evaluation as explained previously. The remarks alleges that such CAx models are often complex and massive involving millions of components. However, under broadest reasonable interpretation, the CAx model could be simple enough for a human to make a mental judgment and evaluation on it.
With respect to the remarks, page 2, regarding technical improvement, the Examiner respectfully disagrees because the additional elements do not provide improvement.
To clarify, as explained in the 101 rejection, the additional elements amount to insignificant extra-solution activities; data gathering activities; and mere instructions to apply the judicial exception using a generic computer. These activities do not add meaningful limitation to the recited judicial exceptions. See MPEP 2106.05(f) and (g). Therefore, even when considered as a whole, they do not provide improvement or amount to significantly more than the judicial exceptions.
Regarding rejections under 35 USC § 103:
Applicant’s arguments regarding the 103 rejection are based on newly amended subject matter. Therefore, all arguments are addressed in the 103 rejection of the claims below.
Claim Objections
Claims 2, 13, and 20 are objected to because of the following informalities: The limitation “for each where-used result that corresponds to an impact definition” should read “for each where-used result that corresponds to the impact definition”
Appropriate correction is required.
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-2, 5-9, and 12-24 are rejected under 35 U.S.C. 101 because the claimed invention is directed to abstract ideas without significantly more.
Step 1: Claims 1-2 and 5-9 are directed to a method, which is a process, falling under a statutory category of invention. Claims 12-18 are directed to a system, which is a machine, falling under a statutory category of invention. Claims 19-24 are directed to a non-transitory machine-readable medium, which is a manufacture, falling under a statutory category of invention. Therefore, claims 1-2, 5-9, and 12-24 are directed to patent eligible categories of invention.
Regarding claim 1:
Step 2A Prong 1: The following limitations recite abstract ideas:
The limitation “performing impact detection according to the save event, the first spatial area, and the impact definitions to detect a potential impact” under broadest reasonable interpretation covers a mental process including an observation, evaluation, judgment or opinion that could be performed in the human mind or with the aid of pencil and paper, but for the recitation of a computer. Claim 2 specifies performing impact detection. Therefore, performing impact detection amounts to a mental process as explained in claim 2. See claim 2 for a detailed analysis.
Step 2A Prong 2: The following limitations recite additional elements:
“accessing, by a data processing system, a computer-aided design, engineering, visualization, or manufacturing (CAx) model of a part or assembly to be manufactured”
“storing a plurality of impact definitions corresponding to the CAx model”
“receiving, from a first client system, an indication of a first spatial area of the CAx model and, from a second client system, an indication of a second spatial area of the CAx model, wherein the first spatial area and the second spatial area are different from one another but have an overlapping space with one another and wherein the first spatial area is defined as a bounding box or an irregular volume for the CAx model”
“receiving a notification of a save event created by the first client system for the first spatial area”
“sending an impact notification to the first client system and the second client system”
However, these additional elements do not integrate the judicial exception into a practical application.
The additional element “accessing, by a data processing system, a computer-aided design, engineering, visualization, or manufacturing (CAx) model of a part or assembly to be manufactured” does not integrate the judicial exception into a practical application because it is an insignificant extra-solution activity and amounts to no more than mere instructions to apply the judicial exception using a generic computer. Specifically, this is a pre-solution activity of retrieving a model from memory to perform operations on/with the model. Furthermore, retrieving data from memory is a generic computer function. See MPEP 2106.05(g) and 2106.05(f).
The additional element “storing a plurality of impact definitions corresponding to the CAx model” does not integrate the judicial exception into a practical application because it amounts to no more than mere instructions to apply the judicial exception using a generic computer. Storing data is a generic computer function. See MPEP 2106.05(f).
The additional elements “receiving, from a first client system, an indication of a first spatial area of the CAx model and, from a second client system, an indication of a second spatial area of the CAx model, wherein the first spatial area and the second spatial area are different from one another but have an overlapping space with one another and wherein the first spatial area is defined as a bounding box or an irregular volume for the CAx model” and “receiving a notification of a save event created by the first client system for the first spatial area” do not integrate the judicial exception into a practical application because they are data gathering activities. See MPEP 2106.05(g).
The additional element “sending an impact notification to the first client system and the second client system” does not integrate the judicial exception into a practical application because it is an insignificant extra-solution activity and amounts to no more than mere instructions to apply the judicial exception using a generic computer. Specifically, this is a post-solution activity of transmitting a result over a network. Furthermore, transmitting data is a generic computer function. See MPEP 2106.05(g) and 2106.05(f).
Even when viewed in combination, these additional elements do not integrate the judicial exception into a practical application.
Accordingly, the claim does not recite any additional elements that integrate the judicial exception into a practical application.
Step 2B: Furthermore, the additional elements do not amount to significantly more than the judicial exception.
The additional element “accessing, by a data processing system, a computer-aided design, engineering, visualization, or manufacturing (CAx) model of a part or assembly to be manufactured” amounts to mere instructions to apply the exception using a generic computer and an insignificant extra-solution activity that falls under storing and retrieving information in memory. Such activities do not amount to significantly more than the judicial exception. See MPEP 2106.05(f) and 2106.05(d)(II).
The additional element “storing a plurality of impact definitions corresponding to the CAx model” amounts to no more than mere instructions to apply the exception using a generic computer. Mere instructions to apply an exception using a generic computer do not amount to significantly more than the judicial exception. See MPEP 2106.05(f).
The additional elements “receiving, from a first client system, an indication of a first spatial area of the CAx model and, from a second client system, an indication of a second spatial area of the CAx model, wherein the first spatial area and the second spatial area are different from one another but have an overlapping space with one another and wherein the first spatial area is defined as a bounding box or an irregular volume for the CAx model” and “receiving a notification of a save event created by the first client system for the first spatial area” are data gathering activities that falls under receiving or transmitting data over a network. Such activities do not amount to significantly more than the judicial exception. See MPEP 2106.05(d)(II).
The additional element “sending an impact notification to the first client system and the second client system” amounts to mere instructions to apply the exception using a generic computer and an insignificant extra-solution activity that falls under receiving or transmitting data over a network. Such activities do not amount to significantly more than the judicial exception. See MPEP 2106.05(f) and 2106.05(d)(II).
Accordingly, the claim does not recite any additional elements that amount to significantly more than the judicial exception.
Therefore, claim 1 is not eligible.
Regarding claim 2:
Step 2A Prong 1: The following limitations recite abstract ideas:
The limitation “determining whether the where-used results correspond to an impact definition” under broadest reasonable interpretation covers a mental process including an observation, evaluation, judgment or opinion that could be performed in the human mind or with the aid of pencil and paper. For example, this covers someone mentally observing and comparing the results and the impact definition and making a judgment.
The limitation “for each where-used result that corresponds to the impact definition, evaluating the geometry or component changes with respect to the impact definitions to identify the potential impact” under broadest reasonable interpretation covers a mental process including an observation, evaluation, judgment or opinion that could be performed in the human mind or with the aid of pencil and paper. For example, this covers someone mentally observing and evaluating/comparing the geometry or component changes with respect to the impact definitions making a judgment about a potential impact.
The limitation “wherein the save event identifies a part or assembly in the first spatial area that has had geometry or component changes” merely further limits the received save event recited in claim 1. Therefore, the similar analysis as claim 1 is applicable.
The limitation “performing a where-used query on the part or assembly to determine where-used results” is an additional element.
Step 2A Prong 2: However, these additional elements do not integrate the judicial exception into a practical application.
The additional element “performing a where-used query on the part or assembly to determine where-used results” does not integrate the judicial exception into a practical application because it amounts to no more than mere instructions to apply the judicial exception using a generic computer. Performing a search query on a computer to obtain a result is a generic compute function. This corresponds to merely using computer function to perform the mental process of searching. See MPEP 2106.05(f).
Even when viewed in combination, these additional elements do not integrate the judicial exception into a practical application.
Accordingly, the claim does not recite any additional elements that integrate the judicial exception into a practical application.
Step 2B: Furthermore, the additional elements do not amount to significantly more than the judicial exception.
As previously discussed, the additional element “performing a where-used query on the part or assembly to determine where-used results” amounts to no more than mere instructions to apply the exception using a generic computer. Mere instructions to apply an exception using a generic computer do not amount to significantly more than the judicial exception. See MPEP 2106.05(f).
Accordingly, the claim does not recite any additional elements that amount to significantly more than the judicial exception.
Therefore, claim 2 is not eligible.
Regarding claim 5:
The limitation “sending the impact notification to a message broker that publishes the impact notification to the first client system and second client system” is an additional element.
Step 2A Prong 2: However, these additional elements do not integrate the judicial exception into a practical application.
The additional element “sending the impact notification to a message broker that publishes the impact notification to the first client system and second client system” does not integrate the judicial exception into a practical application because it amounts to no more than mere instructions to apply the judicial exception using a generic computer. Specification at paragraph [0029] discloses that the message broker is implemented as a cloud server/service. A cloud service amounts to using a generic computer. Specification at paragraph [0030] also discloses that generic, off-the-shelf message broker software such as RABBITMQ, APACHE ACTIVEMQ or APACHE KAFKA are used as the message broker. This amounts to using a generic computer. See MPEP 2106.05(f).
Even when viewed in combination, these additional elements do not integrate the judicial exception into a practical application.
Accordingly, the claim does not recite any additional elements that integrate the judicial exception into a practical application.
Step 2B: Furthermore, the additional elements do not amount to significantly more than the judicial exception.
As previously discussed, the additional element amounts to no more than mere instructions to apply the exception using a generic computer. Mere instructions to apply an exception using a generic computer do not amount to significantly more than the judicial exception. See MPEP 2106.05(f).
Accordingly, the claim does not recite any additional elements that amount to significantly more than the judicial exception.
Therefore, claim 5 is not eligible.
Regarding claim 6:
The limitation “wherein the notification of a save event is received from a message broker” is an additional element.
Step 2A Prong 2: However, these additional elements do not integrate the judicial exception into a practical application.
The additional element “wherein the notification of a save event is received from a message broker” does not integrate the judicial exception into a practical application because it amounts to no more than mere instructions to apply the judicial exception using a generic computer. Specification at paragraph [0029] discloses that the message broker is implemented as a cloud server/service. A cloud service amounts to using a generic computer. Specification at paragraph [0030] also discloses that generic, off-the-shelf message broker software such as RABBITMQ, APACHE ACTIVEMQ or APACHE KAFKA are used as the message broker. This amounts to using a generic computer. See MPEP 2106.05(f).
Even when viewed in combination, these additional elements do not integrate the judicial exception into a practical application.
Accordingly, the claim does not recite any additional elements that integrate the judicial exception into a practical application.
Step 2B: Furthermore, the additional elements do not amount to significantly more than the judicial exception.
As previously discussed, the additional element amounts to no more than mere instructions to apply the exception using a generic computer. Mere instructions to apply an exception using a generic computer do not amount to significantly more than the judicial exception. See MPEP 2106.05(f).
Accordingly, the claim does not recite any additional elements that amount to significantly more than the judicial exception.
Therefore, claim 6 is not eligible.
Regarding claim 7:
The limitation “wherein the first client system displays a 3D graphical feedback to a user illustrating the potential impact” is an additional element.
Step 2A Prong 2: However, these additional elements do not integrate the judicial exception into a practical application.
The additional element “wherein the first client system displays a 3D graphical feedback to a user illustrating the potential impact” does not integrate the judicial exception into a practical application because it amounts to no more than mere instructions to apply the judicial exception using a generic computer. Displaying data is a generic computer function. See MPEP 2106.05(f).
Even when viewed in combination, these additional elements do not integrate the judicial exception into a practical application.
Accordingly, the claim does not recite any additional elements that integrate the judicial exception into a practical application.
Step 2B: Furthermore, the additional elements do not amount to significantly more than the judicial exception.
As previously discussed, the additional element amounts to no more than mere instructions to apply the exception using a generic computer. Mere instructions to apply an exception using a generic computer do not amount to significantly more than the judicial exception. See MPEP 2106.05(f).
Accordingly, the claim does not recite any additional elements that amount to significantly more than the judicial exception.
Therefore, claim 7 is not eligible.
Regarding claim 8:
The limitation “wherein the first client system displays an impact analysis dashboard that includes collective or historical information of impacts over time” is an additional element.
Step 2A Prong 2: However, these additional elements do not integrate the judicial exception into a practical application.
The additional element “wherein the first client system displays an impact analysis dashboard that includes collective or historical information of impacts over time” does not integrate the judicial exception into a practical application because it amounts to no more than mere instructions to apply the judicial exception using a generic computer. Displaying data is a generic computer function. See MPEP 2106.05(f).
Even when viewed in combination, these additional elements do not integrate the judicial exception into a practical application.
Accordingly, the claim does not recite any additional elements that integrate the judicial exception into a practical application.
Step 2B: Furthermore, the additional elements do not amount to significantly more than the judicial exception.
As previously discussed, the additional element amounts to no more than mere instructions to apply the exception using a generic computer. Mere instructions to apply an exception using a generic computer do not amount to significantly more than the judicial exception. See MPEP 2106.05(f).
Accordingly, the claim does not recite any additional elements that amount to significantly more than the judicial exception.
Therefore, claim 8 is not eligible.
Regarding claim 9: Claim 9 merely further limits the impact notification recited in claim 1. Therefore, the similar analysis as used in claim 1 is applicable.
Therefore, claim 9 is not eligible.
Regarding claim 12: Claim 12 is substantially similar to claim 1. Therefore, the similar analysis as claim 1 is applicable.
Furthermore, the limitations “a processor” and “a non-transitory machine-readable medium storing instruction” are additional elements.
Step 2A Prong 2: However, these additional elements do not integrate the judicial exception into a practical application.
The additional elements “a processor” and “a non-transitory machine-readable medium storing instruction” do not integrate the judicial exception into a practical application because they amount to no more than mere instructions to apply the judicial exception using a generic computer. A processor and a non-transitory machine-readable medium are generic computer components. See MPEP 2106.05(f).
Even when viewed in combination, these additional elements do not integrate the judicial exception into a practical application.
Accordingly, the claim does not recite any additional elements that integrate the judicial exception into a practical application.
Step 2B: Furthermore, the additional elements do not amount to significantly more than the judicial exception.
As previously discussed, the additional elements amount to no more than mere instructions to apply the exception using a generic computer. Mere instructions to apply an exception using a generic computer do not amount to significantly more than the judicial exception. See MPEP 2106.05(f).
Accordingly, the claim does not recite any additional elements that amount to significantly more than the judicial exception.
Therefore, claim 12 is not eligible.
Claims 13-24 are substantially similar to claims 2, 5-9, and 12. Therefore, the similar analysis as claims 2, 5-9, and 12 is applicable.
Therefore, claims 13-24 are not eligible.
Accordingly, claims 1-2, 5-9, and 12-24 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e. an abstract idea) without anything significantly more.
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, 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(s) 1-2, 5-7, 9, 12-16, 18-22, and 24 is/are rejected under 35 U.S.C. 103 as being unpatentable over Tang (“Conflicts classification and solving for collaborative feature modeling”) in view of Bowman et al. (US20170337215A1), hereinafter Bowman, in further view of Charles et al. (US20060136842A1), hereinafter Charles.
Regarding claim 1, Tang discloses
accessing, by a data processing system, a computer-aided design, engineering, visualization, or manufacturing (CAx) model of a part or assembly to be manufactured (Pg. 213, right column: “As shown in Fig. 3, for each design object (a part or an assembly), a unique Part Model is kept in Collaborative Manager. It is the global feature model for the current design object. All the feature operations submitted from multi-users will be sequentially executed in Collaborative Manager.”);
receiving, from a first client system, an indication of a first spatial area of the CAx model and, from a second client system, an indication of a second spatial area of the CAx model (Pg. 213, right column: “Fig. 3 shows a system interactive graph of two conflicting feature operations: Rounding an edge by client A and making a V-slot by client B.”) (Fig. 2 shows multiple client systems each having a spatial area of the CAx model.) (Fig. 6 shows each user/client working on a shared spatial area of the CAx model.);
receiving a notification of a save event created by the first client system for the first spatial area (Pg. 212, right column: “In this phase a designer picks geometric elements or inputs parametric values. The second is the submitting phase. In this phase, a designer clicks the “OK” button, and the system will generate result according to the input feature type and parameters.”) (Pg. 214, left column: “If another user modifies the model, the user will be notified the changes.”);
performing impact detection according to the save event, the first spatial area … to detect a potential impact (Pg. 212, right column: “Concurrency conflicts are the conflicts among simultaneously submitted feature operations occurring when the topological elements used by one feature operation have been modified by other operations.”) (Pg. 213, left column: “By Table 1, the topological elements may be referred to by shape parameters, location parameters and operation targets. … Conflicts on parameter elements: the topological items referenced by shape parameters and location parameters of one feature are modified by another feature”) (Pg. 216, right column: “As the designer in Session 1 is submitting the operation ‘‘Hole’’, the entry face has been actually modified by the ‘‘Fillet’’ operation submitted by another designer from Session 2. Here another concurrency conflict has been detected.”) (Fig. 10: “A valve designed collaboratively using the prototype system – CollFeature: (a) client A is rounding an edge of a valve, (b) client B is making a slot on the same model and (c) the conflict of type 3 is detected”); and
sending an impact notification to the first client system and the second client system (Pg. 214, left column: “If another user modifies the model, the user will be notified the changes. If the user confirms for updating, the Session Model will be updated. … When user A is in Visiting State and user B changes the model, the model will be pushed back to user A. If user A confirms to accept it, the updating will be proceeded. Otherwise, the updating will be canceled.”).
Tang does not explicitly disclose
storing a plurality of impact definitions corresponding to the CAx model;
wherein the first spatial area and the second spatial area are different from one another but have an overlapping space with one another and wherein the first spatial area is defined as a bounding box or an irregular volume for the CAx model; and
performing impact detection according to … the impact definitions.
However, Bowman teaches
wherein the first spatial area and the second spatial area are different from one another but have an overlapping space with one another ([0095]: “The editing regions 720 may be demarcated with boundaries 722 and marked with user identifiers 724 that indicate generally the extents of the region and which user the region has been assigned to. Although the depicted extents do not overlap each other, the spatial decomposition process may result in distinct regions whose extents do overlap. An editing region may also be spatially disjoint. In some embodiments, graphical renderings within each region are color coded or coded in some other way such as a shading pattern to indicate which user they are assigned to.”) and
wherein the first spatial area is defined as a bounding box or an irregular volume for the CAx model ([0057]: “The partitioning module 270 partitions the engineering object into one or more editing regions. The partitioning may occur via spatial decomposition. The partitioning may be automatic, for example when an engineering object is opened for editing, or user driven, for example in response to a user selecting a region or particular elements or features for editing. In some embodiments, the partitioning module 270 partitions the design space and/or the engineering object into a plurality of editing regions by using a partitioning surface or a partition equation provided by the user.”).
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 teachings from Bowman on the first and second spatial area being different but with overlapping area and representing the spatial area as a bounding box with the teachings from Tang on the first and second spatial area. The motivation to combine would have been that doing so allows more easily determining editing region with conflicts (Bowman, [0055]: “One of skill in the art will appreciate that the granularity and frequency of updates may be a factor in how frequently a user may be blocked from editing a feature or geometry. For example, frequent updates of relatively small regions may enable multiple users to sequentially gain access to a common working region and thereby reduce the probability of blocking. In one embodiment, an editing region is released for access by any user when the changes to a feature or geometry are propagated to other nodes.”).
Tang/Bowman still does not explicitly teach
storing a plurality of impact definitions corresponding to the CAx model; and
performing impact detection according to … the impact definitions.
However, Charles teaches storing a plurality of impact definitions corresponding to the CAx model and determining a potential impact based on the impact definitions ([0016]: “Thus, known solutions of CAD/CAM applications make it possible, among other features, to design parts, while a PDM system typically includes a database storing all the data related to the designed products or parts and the relations between said products or parts. For example, if a user, who is designing a product or a part in a CAD application window, is willing to know which parts will be impacted by his design changes, he has to switch from the design application to a data management application and conduct various queries, using for instance product/part filenames.”) ([0017]: “Such tasks include search-of-part operations, impact assessment operations on the edited parts and update operations.”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate such a database storing relations information among parts and teaching for identifying a potential impact based on the relations information from Charles to modify Tang/Bowman to provide impact definitions and identify a potential impact based on the impact definitions between submissions of multiple users.
One of ordinary skill in the art would have been motivated to make this modification because using such data storing relations information among parts and identifying or detecting potential impacts allows a user to monitor and be informed of any changes or impacts caused by a modification of one or more parts, allowing the user to make modifications without causing unwanted conflicts or breakdowns of the model (Charles, [0016]: “Thus, known solutions of CAD/CAM applications make it possible, among other features, to design parts, while a PDM system typically includes a database storing all the data related to the designed products or parts and the relations between said products or parts. For example, if a user, who is designing a product or a part in a CAD application window, is willing to know which parts will be impacted by his design changes, he has to switch from the design application to a data management application and conduct various queries, using for instance product/part filenames.”) (Charles, [0017]: “Such tasks include search-of-part operations, impact assessment operations on the edited parts and update operations.”).
Therefore, the combination of Tang/Bowman and Charles teaches
storing a plurality of impact definitions corresponding to the CAx model (Charles, [0016]: “Thus, known solutions of CAD/CAM applications make it possible, among other features, to design parts, while a PDM system typically includes a database storing all the data related to the designed products or parts and the relations between said products or parts.”); and
performing impact detection according to the save event, the first spatial area, and the impact definitions to detect a potential impact (Tang, Pg. 212, right column: “Concurrency conflicts are the conflicts among simultaneously submitted feature operations occurring when the topological elements used by one feature operation have been modified by other operations.”) (Tang, Pg. 213, left column: “By Table 1, the topological elements may be referred to by shape parameters, location parameters and operation targets. … Conflicts on parameter elements: the topological items referenced by shape parameters and location parameters of one feature are modified by another feature”) (Tang, Pg. 216, right column: “As the designer in Session 1 is submitting the operation ‘‘Hole’’, the entry face has been actually modified by the ‘‘Fillet’’ operation submitted by another designer from Session 2. Here another concurrency conflict has been detected.”) (Tang, Fig. 10: “A valve designed collaboratively using the prototype system – CollFeature: (a) client A is rounding an edge of a valve, (b) client B is making a slot on the same model and (c) the conflict of type 3 is detected”) (Charles, [0016]: “Thus, known solutions of CAD/CAM applications make it possible, among other features, to design parts, while a PDM system typically includes a database storing all the data related to the designed products or parts and the relations between said products or parts. For example, if a user, who is designing a product or a part in a CAD application window, is willing to know which parts will be impacted by his design changes, he has to switch from the design application to a data management application and conduct various queries, using for instance product/part filenames.”) (Charles, [0017]: “Such tasks include search-of-part operations, impact assessment operations on the edited parts and update operations.”).
Regarding claim 2, Tang/Bowman/Charles teaches
wherein the save event identifies a part or assembly in the first spatial area that has had geometry or component changes (Tang, Pg. 214, left column: “If another user modifies the model, the user will be notified the changes.”) (Tang, Pg. 214, right column: “When conflicts of type 2 occur, the topological elements user picked as parameters after one feature operation is modified by some inserted features submitted by other designers.”).
Charles further teaches performing a where-used query to identify a potential impact ([0013]: “Databases used in PDM systems enable queries to be made on various types of relation between parts or product”) ([0016]: “For example, if a user, who is designing a product or a part in a CAD application window, is willing to know which parts will be impacted by his design changes, he has to switch from the design application to a data management application and conduct various queries, using for instance product/part filenames.”) ([0017]: “Such tasks include search-of-part operations, impact assessment operations on the edited parts and update operations.”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate this teaching of Charles for performing a where-used search query to identify potential impact among objects having geometric relations into Tang/Bowman/Charles to perform a where-used search query and identify a potential impact based on the relations information defined by the impact definitions.
One of ordinary skill in the art would have been motivated to make this modification because the ability to query a part from a CAD model allows a user to search for where the part is used in the model and navigate between parts based on their relation, allowing a user to identify potential impacts, thereby allowing the user to monitor and be informed of any changes or impacts caused by a modification of one or more parts, allowing the user to make modifications without causing unwanted conflicts or breakdowns of the model (Charles, [0012-0013]: “A PDM solution may automatically store and manage product information and facilitates collaboration throughout the enterprise and across the value chain. A PDM solution may further integrate people and processes by automating and tracking standard workflows within an organization and its supply chain, driving efficiency and accountability, and facilitating standards compliance. For example, the user may wish to know where a product, e.g. a braking pedal, is also used, that is, in which other models it is embedded. A standard CAD tools enable a user to navigate between parts or products mainly according to the “is composed of” relation. Databases used in PDM systems enable queries to be made on various types of relation between parts or product and the scope of navigation of the databases is the widest possible. In practice, the user can have access to all the parts, products or assemblies, configurations, versions, etc.”) (Charles, [0016]: “Thus, known solutions of CAD/CAM applications make it possible, among other features, to design parts, while a PDM system typically includes a database storing all the data related to the designed products or parts and the relations between said products or parts. For example, if a user, who is designing a product or a part in a CAD application window, is willing to know which parts will be impacted by his design changes, he has to switch from the design application to a data management application and conduct various queries, using for instance product/part filenames.”) (Charles, [0017]: “Such tasks include search-of-part operations, impact assessment operations on the edited parts and update operations.”).
Therefore, Tang/Bowman/Charles teaches
wherein performing the impact detection includes: performing a where-used query on the part or assembly to determine where-used results (Charles, [0013]: “Databases used in PDM systems enable queries to be made on various types of relation between parts or product”) (Charles, [0016]: “For example, if a user, who is designing a product or a part in a CAD application window, is willing to know which parts will be impacted by his design changes, he has to switch from the design application to a data management application and conduct various queries, using for instance product/part filenames.”) (Charles, [0017]: “Such tasks include search-of-part operations, impact assessment operations on the edited parts and update operations.”);
determining whether the where-used results correspond to an impact definition (Charles, [0013]: “Databases used in PDM systems enable queries to be made on various types of relation between parts or product”) (Charles, [0016]: “Thus, known solutions of CAD/CAM applications make it possible, among other features, to design parts, while a PDM system typically includes a database storing all the data related to the designed products or parts and the relations between said products or parts. For example, if a user, who is designing a product or a part in a CAD application window, is willing to know which parts will be impacted by his design changes, he has to switch from the design application to a data management application and conduct various queries, using for instance product/part filenames.”) (Charles, [0017]: “Such tasks include search-of-part operations, impact assessment operations on the edited parts and update operations.”); and
for each where-used result that corresponds to an impact definition, evaluating the geometry or component changes with respect to the impact definitions to identify the potential impact (Charles, [0013]: “Databases used in PDM systems enable queries to be made on various types of relation between parts or product”) (Charles, [0016]: “Thus, known solutions of CAD/CAM applications make it possible, among other features, to design parts, while a PDM system typically includes a database storing all the data related to the designed products or parts and the relations between said products or parts. For example, if a user, who is designing a product or a part in a CAD application window, is willing to know which parts will be impacted by his design changes, he has to switch from the design application to a data management application and conduct various queries, using for instance product/part filenames.”) (Charles, [0017]: “Such tasks include search-of-part operations, impact assessment operations on the edited parts and update operations.”).
Regarding claim 5, Tang/Bowman/Charles teaches
wherein sending an impact notification to the first client system and the second client system includes sending the impact notification to a message broker that publishes the impact notification to the first client system and second client system (Tang, Pg. 214, left column: “If another user modifies the model, the user will be notified the changes.”) (Tang, Pg. 217, right column: “VisiBroker from Borland provides the CORBA environment for communication between the server and users over Internet.”).
Regarding claim 6, Tang/Bowman/Charles teaches
wherein the notification of a save event is received from a message broker (Tang, Pg. 214, left column: “If another user modifies the model, the user will be notified the changes.”) (Tang, Pg. 217, right column: “VisiBroker from Borland provides the CORBA environment for communication between the server and users over Internet.”).
Regarding claim 7, Tang/Bowman/Charles teaches notifying a potential impact to the user in the first client system (Tang, Pg. 214, left column: “If another user modifies the model, the user will be notified the changes. If the user confirms for updating, the Session Model will be updated. … When user A is in Visiting State and user B changes the model, the model will be pushed back to user A. If user A confirms to accept it, the updating will be proceeded. Otherwise, the updating will be canceled.”).
Charles further teaches displaying a 3D graphical feedback to a user illustrating the potential impact ([0113]: “It may further be possible to provide that selecting a part name highlights said modified parts in the feature tree 250 and/or in the 3D representation in the window (when available).”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate this feature of Charles into Tang/Bowman/Charles to graphically display the identified potential impact on a display to the user.
One of ordinary skill in the art would have been motivated to make this modification because such functionality provides a convenient means to visually inform the users of any changes made to the model (Charles, [0031]: “the toolbar comprises: a first toolbar area associated with a function of product/part search; a second toolbar area associated with a function of impact assessment; a third toolbar area associated with a function of communication with other users of the computer network”) (Charles, [0050]: “For example, when a first user is editing a first part and a second user is modifying a second part that has to be in contact with the first one, the first user will be informed of the modification thanks to the toolbar.”).
Therefore, Tang/Bowman/Charles teaches
wherein the first client system displays a 3D graphical feedback to a user illustrating the potential impact (Tang, Pg. 214, left column: “If another user modifies the model, the user will be notified the changes. If the user confirms for updating, the Session Model will be updated. … When user A is in Visiting State and user B changes the model, the model will be pushed back to user A. If user A confirms to accept it, the updating will be proceeded. Otherwise, the updating will be canceled.”) (Charles, [0113]: “It may further be possible to provide that selecting a part name highlights said modified parts in the feature tree 250 and/or in the 3D representation in the window (when available).”).
Regarding claim 9, Tang/Bowman/Charles teaches
wherein the impact notification includes one or more of an identifier of a client that produced the save event that resulted in the impact notification, a name or type of design tool that produced the save event that resulted in the impact notification, a spatial area affected by the save event that resulted in the impact notification, universal identifiers of any parts or components changed, added, or deleted by the save event that resulted in the impact notification, geometric, CAx, or other data that can be used to display the potential impact, or a username or other identifier of a user of a client that produced the save event that resulted in the impact notification (Tang, Pg. 214, left column: “If another user modifies the model, the user will be notified the changes. If the user confirms for updating, the Session Model will be updated. … When user A is in Visiting State and user B changes the model, the model will be pushed back to user A. If user A confirms to accept it, the updating will be proceeded. Otherwise, the updating will be canceled.”).
Regarding claim 12, claim 12 is substantially similar to claim 1. Therefore, the similar analysis is applicable.
Furthermore, Tang/Bowman/Charles teaches
a processor; and a non-transitory machine-readable medium storing instruction that, when executed by the processor (Tang, Pg. 217, right column: “A prototype system CollFeature has been implemented in Visual C++ and Java on Windows2000 platform. On the server side, FeatServer.exe is running to coordinate multi-user modeling activities. The ACIS model kernel [24] from Spatial Corp. is used as the geometric engine. The system modules are shown in Fig. 8. On each user side, FeatView.exe is running to view the product model and to submit feature operations to the server. It uses OpenGL as the rendering tool. As a thin client architecture, no ACIS library or feature library is used on the client side. Users can also join the collaboration by using our Java3D client, JavaView. It also connects to feature based modeling server by CORBA. FeatServer also provides functions to publish the product on Web site by exporting to VRML files. VisiBroker from Borland provides the CORBA environment for communication between the server and users over Internet.”).
Examiner notes that it would be obvious to one of ordinary skill in the art that the above-mentioned software are implemented on a computer having a processor and a memory. Examiner also notes that the use of servers and Internet also teaches that the method/system is implemented on a computer having a processor and a memory.
Claims 13-16, 18-22, and 24 are substantially similar to claims 2, 5-7, 9, and 12. Therefore, the similar analysis as claims 2, 5-7, 9, and 12 is applicable.
Claim(s) 8, 17, and 23 is/are rejected under 35 U.S.C. 103 as being unpatentable over Tang in view of Bowman in further view of Charles in further view of Lee et al. (“Collaborative intelligent CAD framework incorporating design history tracking algorithm”), hereinafter Lee.
Regarding claim 8, Tang/Bowman/Charles does not explicitly teach
wherein the first client system displays an impact analysis dashboard that includes collective or historical information of impacts over time.
However, Lee teaches a feature for capturing and tracking design history for a CAD model (Pg. 1126, left column: “This paper provides an efficient data structure for capturing the design history and a tracking algorithm for preventing redundant design.”) (Fig. 2).
Tang/Bowman/Charles and Lee are analogous to the claimed invention because they are in the same field of collaborative CAD modeling and tracking historical information of impacts to a design.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate such a functionality of Lee in the first client system of Tang/Bowman/Charles to track historical information of impacts over time and display it.
One of ordinary skill in the art would have been motivated to make this modification because keeping a design history has multiple advantages in a collaborative modeling environment including allowing a reverse engineering process, reducing redundant design among designers, etc. (Lee, Pg. 1127, left column: “The design history can be used for a reverse engineering process or as a reference for designing similar parts.”) (Lee, Pg. 1126, left column: “This paper provides an efficient data structure for capturing the design history and a tracking algorithm for preventing redundant design.”).
Therefore, the combination of Tang/Bowman/Charles and Lee
wherein the first client system displays an impact analysis dashboard that includes collective or historical information of impacts over time (Tang, Pg. 214, left column: “If another user modifies the model, the user will be notified the changes.”) (Lee, Pg. 1126, left column: “This paper provides an efficient data structure for capturing the design history and a tracking algorithm for preventing redundant design.”) (Lee, Fig. 2).
Claims 17 and 23 are substantially similar to claim 8. Therefore, the similar analysis as claim 8 is applicable.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Winn (US20180239795A1)
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 HEIN JEONG whose telephone number is (703)756-1549. The examiner can normally be reached M-F 9am-5pm ET.
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, Renee Chavez can be reached on (571) 270-1104. 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.
/HEIN JEONG/Examiner, Art Unit 2188
/RENEE D CHAVEZ/Supervisory Patent Examiner, Art Unit 2186