DETAILED ACTION
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 .
Claims 1-20 have been presented for examination based on the amendment filed on
12/16/2022.
Claims 1-20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph.
Claims 1-20 are rejected under 35 U.S.C. 101 because he claimed invention is directed to a judicial exception (abstract idea) without significantly more.
Claim(s) 1, 12 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by US PGPUB No. US20210224929A1 by Bajaj et al.
Claim(s) 2-11, 13-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over US PGPUB No. US20210224929A1 by Bajaj et al. view of US PGPUB No. US20120185422A1 by Shah et al.
This action is made Non-Final.
---- This page is left blank after this line ----
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-20 rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Terms of Degree and Relative Terminology: The limitations "similar features" and "closer in a node embedding space" in Claims 1,12, and 20 are relative terms of degree. The claim provides no objective standard for determining the level of similarity required or the specific distance threshold that constitutes being "closer" in a latent mathematical space. While the specification provides an example using Jaccard distance [0068], the claim is not so limited, and the specification fails to provide a consistent standard for measuring these degrees across the broad genus of "assembled products." Consequently, a POSITA cannot determine whether a given part substitution would infringe the claim.
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.
The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action.
Claims 1-20 are rejected under 35 U.S.C. 101 because he claimed invention is directed to a judicial exception (abstract idea) without significantly more. The claim recites an abstract idea in the form of mathematical concepts and mental processes, specifically the computation of node embeddings based on feature similarity and the algorithmic comparison of those embeddings to identify substitute components [0071]. These steps are mathematical correlations and types of evaluations that can be performed in the human mind. (See, e.g., Benson, 409 U.S. at 67, 65, 175 USPQ at 674-75, 674)
This judicial exception is not integrated into a practical application because the claim merely implements the abstract idea on a generic computing system. The recitation of a processor and memory to perform the calculations does not improve the functioning of the computer itself or any other technology, as the claim is focused on a result-oriented outcome (predicting a part) rather than a specific technical implementation.
Furthermore, the claim does/does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the computing system, processor, and memory are well-understood, routine, and conventional generic computer components. The arrangement of these components as a training program and comparison algorithm is standard for implementing data-processing models and does not represent an "inventive concept" beyond the exception itself.
Claims [ 1 ]:
Step 1: The claim is directed to a "computing system" [0002] comprising a "processor" [0002] and "memory" [0002]. Under Step 1 of the eligibility analysis, a computing system comprising physical hardware components (processor/memory) is a "concrete thing" consisting of parts and thus falls within the statutory category of a machine. (See 2106.03)Step 2A, Prong 1: This part of the eligibility analysis evaluates whether the claim recites a judicial exception. As explained in MPEP 2106.04, subsection II, a claim “recites” a judicial exception when the judicial exception is “set forth” or “described” in the claim. The limitations are bolded for abstract idea/judicial exception identification.
Claim 1
Mapping Under Step 2A Prong 1
A computing system for predicting substitute or missing parts of an assembled product, the computing system comprising a processor having associated memory storing instructions that cause the processor to:
execute a model training program configured to generate a component graph including a respective node for each of a plurality of component IDs of the assembled product, the component graph including node embeddings for each node, the node embeddings being computed such that nodes with similar features are closer in a node embedding space than nodes with dissimilar features;and execute an embeddings comparison algorithm to compare embeddings of the component IDs to thereby identify a substitute component ID for a target node on the component graph.
See Step 1.Mathematical Concepts: The computation of "node embeddings1" where nodes with similar features are "closer in a node embedding space" utilizes mathematical relationships and vector 2space organization to represent data. The process of organizing information through mathematical correlations has been identified as an abstract idea. (as in 2106.04(a)(2) Abstract Idea Groupings)
Mental Processes: The step of "comparing embeddings... to identify a substitute component" describes a concept that can be performed in the human mind (evaluating similarity and judging a substitution). Such human cognitive actions, even when performed on a computer, remain abstract
(see MPEP § 2106.04(a)(2), subsection III).
Step 2A, Prong 2: This part of the eligibility analysis evaluates whether the claim as a whole integrates the recited judicial exception into a practical application of the exception. This evaluation is performed by (1) identifying whether there are any additional elements recited in the claim beyond the judicial exception, and (2) evaluating those additional elements individually and in combination to determine whether the claim as a whole integrates the exception into a practical application. See MPEP 2106.04(d). As per (1) the additional elements are identified as bold parts of the limitations in column 1 of the table below, and as per (2) the evaluation is shown in the mapping section of the table.
In accordance with this step, the judicial exception is not integrated into a practical application.
Claim 1
Mapping Under Step 2A Prong 2
A computing system for predicting substitute or missing parts of an assembled product, the computing system comprising a processor having associated memory storing instructions that cause the processor to:
execute a model training program configured to generate a component graph including a respective node for each of a plurality of component IDs of the assembled product, the component graph including node embeddings for each node, the node embeddings being computed such that nodes with similar features are closer in a node embedding space than nodes with dissimilar features;and execute an embeddings comparison algorithm to compare embeddings of the component IDs to thereby identify a substitute component ID for a target node on the component graph.
Additional elements are the "processor" [0002] and "memory" [0002]. These are generic computer components recited at a high level of generality. (Alice Corp. Pty. Ltd. v. CLS Bank Int’l, 573 U.S. 208, 224, 110 USPQ2d 1976, 1983-84 (2014)) Meaningful Limits: The additional elements do not impose meaningful limits on the exception. The use of a computer merely as a tool to perform the mathematical calculations and comparisons does not integrate the idea into a practical application. (See Affinity Labs v. DirecTV, 838 F.3d 1253, 1262, 120 USPQ2d 1201, 1207 (Fed. Cir. 2016) (cellular telephone); TLI Communications LLC v. AV Auto, LLC, 823 F.3d 607, 613, 118 USPQ2d 1744, 1748 (Fed. Cir. 2016) (MPEP § 2106.05(f)) ( MPEP § 2106.05(g))See Step 2A Prong 1
See Step 2A Prong 1
Step 2B: This part of the eligibility analysis evaluates whether the claim as a whole amounts to significantly more than the recited exception i.e., whether any additional element, or combination of additional elements, adds an inventive concept to the claim. See MPEP 2106.05. This step determines whether the additional elements amount to "significantly more" than the exception by providing an unconventional technological solution. (see MPEP § 2106.05(g) and see MPEP § 2106.05(h))
Generic Computer Implementation: The hardware (processor/memory) is well-understood, routine, and conventional in the industry. (2106.05(d))( (citing Mayo, 566 U.S. at 79, 101 USPQ2d at 1972))
Routine Activity: The steps of "executing a model training program" and "comparing embeddings" are generic computer functions. Simply appending well-understood, routine, conventional activities to an abstract idea does not constitute an inventive concept. (See, e.g. Rapid Litig. Mgmt. v. CellzDirect, Inc., 827 F.3d 1042, 1051, 119 USPQ2d 1370, 1375 (Fed. Cir. 2016)) (See MPEP § 2106.05(f)) (MPEP § 2106.05(d)) (Mayo Collaborative Servs. v. Prometheus Labs., Inc., 566 U.S. 66, 79-80, 101 USPQ2d 1969)Ordered Combination: The ordered combination of these elements; training a model on graph data and comparing vectors; amounts to nothing more than a generic computer implementation of the abstract mathematical and mental processes. (See Mayo, 566 U.S. at 79, 101 USPQ2d at 1972) (Alice Corp., 573 U.S. at 225-27, 110 USPQ2d at 1984(BASCOM Global Internet v. AT&T Mobility LLC, 827 F.3d 1341, 119)) (See CyberSource v. Retail Decisions, 654 F.3d 1366, 1370, 99 USPQ2d 1690, 1694 (Fed. Cir. 2011)) (MPEP § 2106.05(f)) (See, e.g., Versata Development Group v. SAP America, 793 F.3d 1306, 1335, 115 USPQ2d 1681, 1702 (Fed. Cir. 2015))
Conclusion: The additional elements do not amount to significantly more.Regarding Claim 2Claim 2 recites, “The computing system of claim 1, wherein the processor is further configured to execute a life cycle analysis (LCA) program configured to compute an LCA result using an LCA algorithm based at least upon the substitute component ID.” Lack of Technological Improvement: While the specification discusses improvements to Life Cycle Assessment (LCA), Claim 1 itself does not recite these specific technological steps (such as the LCA algorithm described in dependent claims). The claim fails to provide a technological solution to a technological problem beyond the abstract computation itself. (MPEP § 2106.05(a)) Field of Use: Identifying a "substitute component ID" for an "assembled product" represents a field-of-use limitation or a general technological environment (industrial inventory management). Limiting an abstract idea to a particular environment or field of use does not provide the "meaningful limit" required for integration. (2106.05(h)) (see MPEP § 2106.07(a))
Regarding Claim 3Claim 3 recites, “The computing system of claim 1, wherein, to generate the component graph, the model training program is further configured to: receive component data including component hierarchical data, component IDs, and meta data of properties of each of the component IDs; generate an initial instance of the component graph based on the component hierarchical data; generate a vector representation for each node of the component graph; generate tokenized features based on the component IDs and the meta data of properties of the components indicated by each of the component IDs; and concatenate the vector representation for each node and the tokenized features to generate the initial instance of the component graph with node-wise feature vectors for each of the component IDs.” (Mathematical Concepts (as in 2106.04(a)(2) Abstract Idea Groupings))
Regarding Claim 4Claim 4 recites, “The computing system of claim 3, wherein, to generate the component graph, the model training program is further configured to: generate a training data set by obtaining positive match training data pairs and negative match training data pairs for each of a plurality of pairs of the node-wise feature vectors, wherein the positive match training pairs and negative match training pairs are pairs of component IDs for which the respective concatenated feature vectors negatively and positively match according to a data distance algorithm; train a machine learning (ML) model based on the positive match training data pairs and negative match training data pairs; and output the node embeddings for each of the component IDs in the component graph from the trained ML model.” (Mathematical Concepts (as in 2106.04(a)(2) Abstract Idea Groupings))
Regarding Claim 5Claim 5 recites, “The computing system of claim 2, wherein there is no Full Material Disclosures (FMD) data or missing FMD data for the target node in a source LCA dataset.” (Lack of Technological Improvement (MPEP § 2106.05(a)) Field of Use (2106.05(h)) (see MPEP § 2106.07(a))Regarding Claim 6Claim 6 recites, “The computing system of claim 5, wherein the FMD data is present for the substitute component ID in a modified LCA dataset, wherein the LCA model is fed the modified LCA dataset as input to produce the LCA result.” (Lack of Technological Improvement (MPEP § 2106.05(a)) Field of Use (2106.05(h)) (see MPEP § 2106.07(a))
Regarding Claim 7Claim 6 recites, “The computing system of claim 3, wherein the model training program is configured to generate the initial instance of the component graph based on the component hierarchical data by identifying a common component and linking a plurality of subgraphs of units of the assembled product equipment via the common component.” (Mathematical Concepts (as in 2106.04(a)(2) Abstract Idea Groupings))
Regarding Claim 8Claim 8 recites, “The computing system of claim 4, wherein the positive match training data pairs are obtained when a Jaccard distance is larger than a positive match threshold; and the negative match training data pairs are obtained when a Jaccard distance is larger than a minimum threshold and less than a negative match threshold for the pair of component IDs.” (Mathematical Concepts (as in 2106.04(a)(2) Abstract Idea Groupings))Regarding Claim 9Claim 9 recites, “The computing system of claim 4, wherein the positive match training data pairs further include the pairs of component IDs included in a ground truth replacement component data set.” (Mathematical Concepts (as in 2106.04(a)(2) Abstract Idea Groupings))Regarding Claim 10Claim 10 recites, “The computing system of claim 2, wherein the processor is further configured to display a graphical user interface (GUI) including a part sourcing tool that shows the substitute component ID with the LCA result, along with other components with similarity scores relative to within a predetermined range and other LCA results for each component, and further including an order selector enabling a user to order the substitute component or one of the other components.” Lack of Technological Improvement: (MPEP § 2106.05(a)) Field of Use (2106.05(h)) (see MPEP § 2106.07(a))
Regarding Claim 11
Claim 11 recites, “The computing system of claim 1, wherein the processor is further configured to display a graphical user interface (GUI) including a data validity tool that identifies that the LCA result for the substitute component is an outlier as compared to other LCA scores for other components having similarity scores within a predetermined range with respect to the substitute component.”Mathematical Concepts (as in 2106.04(a)(2) Abstract Idea Groupings) Mental Processes (see MPEP § 2106.04(a)(2), subsection III).
Claim 12Step 1: System
Step 2A Prong 1: similar to claim 1
Step 2A Prong 2: similar to claim 1
Step 2B: similar to claim 1Claim 13Step 1: System
Step 2A Prong 1: similar to claim 2
Step 2A Prong 2: similar to claim 2
Step 2B: similar to claim 2Claim 14Step 1: System
Step 2A Prong 1: similar to claim 3
Step 2A Prong 2: similar to claim 3
Step 2B: similar to claim 3Claim 15Step 1: System
Step 2A Prong 1: similar to claim 4
Step 2A Prong 2: similar to claim 4
Step 2B: similar to claim 4Claim 16Step 1: System
Step 2A Prong 1: similar to claim 7
Step 2A Prong 2: similar to claim 7
Step 2B: similar to claim 7Claim 17Step 1: System
Step 2A Prong 1: similar to claim 8
Step 2A Prong 2: similar to claim 8
Step 2B: similar to claim 8Claim 18Step 1: System
Step 2A Prong 1: similar to claim 9
Step 2A Prong 2: similar to claim 9
Step 2B: similar to claim 9
Claim 19Step 1: System
Step 2A Prong 1: similar to claim 5
Step 2A Prong 2: similar to claim 5
Step 2B: similar to claim 5Claim 20
Step 1: System
Step 2A Prong 1: similar to claim 1-3, 12, 14-15
Step 2A Prong 2: similar to claim 1-3, 12, 14-15
Step 2B: similar to claim 1-3, 12, 14-15
Claim Rejections - 35 USC § 102
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 (i.e., changing from AIA to pre-AIA ) 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 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)(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.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
(g)(1) during the course of an interference conducted under section 135 or section 291, another inventor involved therein establishes, to the extent permitted in section 104, that before such person’s invention thereof the invention was made by such other inventor and not abandoned, suppressed, or concealed, or (2) before such person’s invention thereof, the invention was made in this country by another inventor who had not abandoned, suppressed, or concealed it. In determining priority of invention under this subsection, there shall be considered not only the respective dates of conception and reduction to practice of the invention, but also the reasonable diligence of one who was first to conceive and last to reduce to practice, from a time prior to conception by the other.
A rejection on this statutory basis (35 U.S.C. 102(g) as in force on March 15, 2013) is appropriate in an application or patent that is examined under the first to file provisions of the AIA if it also contains or contained at any time (1) a claim to an invention having an effective filing date as defined in 35 U.S.C. 100(i) that is before March 16, 2013 or (2) a specific reference under 35 U.S.C. 120, 121, or 365(c) to any patent or application that contains or contained at any time such a claim.
The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action.
Claim(s) 1, 12 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by US PGPUB No. US20210224929A1 by Bajaj et al.
Regarding Claim 1
Bajaj teaches A computing system for predicting substitute or missing parts of an assembled product, ([0024]: “This disclosure describes an automated intelligent BoM builder that facilitates more comprehensive, efficient, adaptive, and accurate generation of BoMs for equipment manufacturing and site construction. Such intelligent BoM builder may be used in conjunction with other intelligent BoM modules (e.g., a tracking and maintenance system and data store for providing component services to the product or site post manufacturing or construction, and for suppling information for generating future BoMs), thereby forming an intelligent BoM advisor.” [0063]: “The knowledge graph 354 of FIG. 3 in the BoM advisor 310 provides the predictive intelligence in BoM/component recommendation and site maintenance. FIG. 4 illustrates an exemplary schema 400 for an underlying graphical database for the knowledge graph 354 of FIG. 3 (or 120 of FIG. 1)”
[Figure 1]:
PNG
media_image1.png
593
673
media_image1.png
Greyscale
[Figure 3]:
PNG
media_image2.png
595
778
media_image2.png
Greyscale
[0026]: “The intelligent BoM builder includes various intelligent models and uses an underlying knowledge graph to identify learned correlations between sites, BoMs and between components. In the context of construction of cellular sites, for example, correlation between cellular sites and between direct and/or indirect characteristics of the sites (such as population density, geographical topology, demographics, operational performance, site services, and the like) may be learned using the intelligent models. The intelligent BoM builder is capable of intelligently selecting a site, creating a digital twin of the cellular site to be built based on an existing population of cellular sites, and generating a base BoM for the digital twin based on the correlations above and the BoMs of the existing population of cellular sites. The intelligent BoM builder further allows for and assists in modification of the automatically generated base BoMs by engineers (e.g., by intelligently recommending inclusion of additional components, exclusion of components, and/or replacement of components). The intelligent BoM builder may be configured as an integral part of the larger intelligent BoM advisor, as described in further detail below.” [0030]: "...As shown in further detail below, the modification of the initial base BoM may be assisted by the intelligent BoM builder and advisory by providing recommended components to be added or as replacement of components in the initial base BoM via various learned correlations between BoM components and project objectives...." [0045]: "a component recommendation module 347 for identifying various components for a BoM; [0046]: an alternative component recommendation module 348 for identifying replacement components in view of, for example, cost-lead time trade-offs or reliability...." [0059]: "...5) The base BoM for the digital population twin of the planned site may be subject to edit and component substitution by the user via the end user dashboard 362 of the GUIs 360. The component recommendation module 347 and the alternative component recommendation module 348 may assist in the user editing and component replacement process. The recommendation may be based on historical BoM and component defect and maintenance history as stored in the knowledge graph 354. For example, a replacement component recommendation may be based on relationship between like components nodes in the Knowledge graph. For another example, components recommended to be added may be based on co-occurrence of a component with other components. In addition, the BoM advisor 310 may provide the user with reason for recommendation of additional or replacement components (e.g., prior reliability issue as indicated in the knowledge graph 354 or long lead time as indicated from the supply chain data 380 for a component recommended to be replaced). As such, a more adaptive, reliable, higher quality, and complete BoM is generated based on the initially recommended base BoM from the digital population twin of the planned site....") the computing system comprising a processor having associated memory storing instructions that cause the processor to: ([0084-0085]: “The memory 1420 stores, for example, control instructions 1422 for executing the features of the BoM Asset Advisor and its various components, as well as an operating system 1421. In one implementation, the processor 1418 executes the control instructions 1422 and the operating system 1421 to carry out any desired functionality for the BoM Asset Advisor and its various components.. The computer device 1400 may further include various data sources 1430 or may be in communication with external data sources.”) execute a model training program ([0063]: “The knowledge graph 354 of FIG. 3 in the BoM advisor 310 provides the predictive intelligence in BoM/component recommendation and site maintenance. FIG. 4 illustrates an exemplary schema 400 for an underlying graphical database for the knowledge graph 354 of FIG. 3 (or 120 of FIG. 1). The exemplary schema 400 includes various types of nodes and types of edges between the nodes. An actual graphical database underlying the knowledge graph 354 may be materialized (populated with actual entity nodes and relationship edges) based on the schema 400. Various prediction models may then be trained based on the materialized graphical database, and together with the materialized graphical database, form the knowledge graph 354. The knowledge graph 357 may then be used for query and for generating prediction of, for example, unknown or hidden correlation or relationship between specific nodes.”) configured to generate a component graph([0055]: “1) A BoM advisor knowledge ingestion pipeline allows for building entities, relationships and inference from a variety of data sources (such as, for example, historical BoMs 374 and site features from site repository 376, supply chain data 380 including component inventory 382, and site maintenance operation data 392 and site performance data 394) that may be processed by the data synchronization circuitry 320 and the data integration pipeline 330 to generate the knowledge graph 354, which serves as the source of intelligence applied during the BoM building process and component maintenance process.” [0064]: “The knowledge graph 354 includes nodes representing various entities and directional edges representing relationship between the entities, as reflected in the exemplary schema 400 of FIG. 4. FIG. 4 shows various node types such as “project” type, “site” type, “BoM” type, “material part” (component) type, and the like. FIG. 4 further shows general types of directional relationships between these various types of nodes. The schema 400 of FIG. 4 forms the bases for materializing the graphical database underlying the knowledge graph 354. Entries to the underlying graphical database may be composed in various different forms, depending on the type of graphical database framework being used.”) including a respective node for each of a plurality of component IDs of the assembled product, ([Figure 4]:
PNG
media_image3.png
595
854
media_image3.png
Greyscale
) the component graph including node embeddings for each node, the node embeddings being computed such that nodes with similar features are closer in a node embedding space than nodes with dissimilar features; (See Figure 3, [0056-0057]: “2) During the BoM building process, the BoM Advisor 310 analyzes the site location properties and project objectives and targets (e.g., cost and timeline) of the site for which the BoM is being built to create, for example a vectorized representation of these properties, objectives and targets in a multi-dimensional vector or embedding space (using, e.g., the data integration pipeline 330 of FIG. 3) for further calculation and processing.
3) The BoM Advisor core 340 performs a BoM recommendation by taking the vectorized representation of the site location properties, project objectives and targets as input, and querying the knowledge graph 354 for a collection of historical BoM with vectorized properties in the vector or embedding space that best matches the input vector using similarity algorithms (e.g., closeness in distance between the vectors in the vector or embedding space).”) and execute an embeddings comparison algorithm to compare embeddings of the component IDs to thereby identify a substitute component ID for a target node on the component graph. (See [0057], [0043]: “a BoM similarity calculator engine 344 configured to compare BoMs to qualify or quantify their similarities” [0059]: “5) The base BoM for the digital population twin of the planned site may be subject to edit and component substitution by the user via the end user dashboard 362 of the GUIs 360. The component recommendation module 347 and the alternative component recommendation module 348 may assist in the user editing and component replacement process. The recommendation may be based on historical BoM and component defect and maintenance history as stored in the knowledge graph 354. For example, a replacement component recommendation may be based on relationship between like components nodes in the Knowledge graph. For another example, components recommended to be added may be based on co-occurrence of a component with other components. In addition, the BoM advisor 310 may provide the user with reason for recommendation of additional or replacement components (e.g., prior reliability issue as indicated in the knowledge graph 354 or long lead time as indicated from the supply chain data 380 for a component recommended to be replaced). As such, a more adaptive, reliable, higher quality, and complete BoM is generated based on the initially recommended base BoM from the digital population twin of the planned site.” The examiner interprets where to execute an embeddings comparison algorithm to compare embeddings of the component IDs to thereby identify a substitute component ID for a target node on the component graph is shown in querying the graph for matches in the embedding space to identify replacement components.
Regarding Claim 12
Bajaj teaches A computerized method for predicting substitute or missing parts of an assembled product, comprising: ([0024]: ”This disclosure describes an automated intelligent BoM builder that facilitates more comprehensive, efficient, adaptive, and accurate generation of BoMs for equipment manufacturing and site construction.” [See Figure 1 & 3, 0063, 0026], [0030]: "...As shown in further detail below, the modification of the initial base BoM may be assisted by the intelligent BoM builder and advisory by providing recommended components to be added or as replacement of components in the initial base BoM via various learned correlations between BoM components and project objectives...." [0045]: "a component recommendation module 347 for identifying various components for a BoM; [0046]: an alternative component recommendation module 348 for identifying replacement components in view of, for example, cost-lead time trade-offs or reliability...." [0059]: "...5) The base BoM for the digital population twin of the planned site may be subject to edit and component substitution by the user via the end user dashboard 362 of the GUIs 360. The component recommendation module 347 and the alternative component recommendation module 348 may assist in the user editing and component replacement process. The recommendation may be based on historical BoM and component defect and maintenance history as stored in the knowledge graph 354. For example, a replacement component recommendation may be based on relationship between like components nodes in the Knowledge graph. For another example, components recommended to be added may be based on co-occurrence of a component with other components. In addition, the BoM advisor 310 may provide the user with reason for recommendation of additional or replacement components (e.g., prior reliability issue as indicated in the knowledge graph 354 or long lead time as indicated from the supply chain data 380 for a component recommended to be replaced). As such, a more adaptive, reliable, higher quality, and complete BoM is generated based on the initially recommended base BoM from the digital population twin of the planned site....") The examiner interprets where predicting substitute or missing parts is shown in predicting replacements.) generating, via a model training program, (See [0063] [0063]: “Various prediction models may then be trained based on the materialized graphical database, and together with the materialized graphical database, form the knowledge graph 354. The knowledge graph 357 may then be used for query and for generating prediction of, for example, unknown or hidden correlation or relationship between specific nodes.”) a component graph (See [0064 & [0055]: “1) A BoM advisor knowledge ingestion pipeline allows for building entities, relationships and inference from a variety of data sources (such as, for example, historical BoMs 374 and site features from site repository 376, supply chain data 380 including component inventory 382, and site maintenance operation data 392 and site performance data 394) that may be processed by the data synchronization circuitry 320 and the data integration pipeline 330 to generate the knowledge graph 354, which serves as the source of intelligence applied during the BoM building process and component maintenance process.”) including a respective node for each of a plurality of component IDs of the assembled product, (See [Figure 4]) the component graph including node embeddings for each node, (See Figure 3, [0056-0057]: The examiner interprets where the component graph including node embeddings for each node is shown in creating a "vectorized representation" of components in a multi-dimensional "embedding space".) the node embeddings being computed such that nodes with similar features are closer in a node embedding space than nodes with dissimilar features; (See Figure 3, [0056-0057]: The examiner interprets where the node embeddings being computed such that nodes with similar features are closer in a node embedding space than nodes with dissimilar features is shown in matching using "similarity algorithms (e.g., closeness in distance between the vectors in the vector or embedding space)".) and executing an embeddings comparison algorithm to compare embeddings of the component IDs to thereby identify a substitute component ID for a target node on the component graph. (See [0043] & [0057], [0059]: "...5) The base BoM for the digital population twin of the planned site may be subject to edit and component substitution by the user via the end user dashboard 362 of the GUIs 360. The component recommendation module 347 and the alternative component recommendation module 348 may assist in the user editing and component replacement process. The recommendation may be based on historical BoM and component defect and maintenance history as stored in the knowledge graph 354. For example, a replacement component recommendation may be based on relationship between like components nodes in the Knowledge graph. For another example, components recommended to be added may be based on co-occurrence of a component with other components. In addition, the BoM advisor 310 may provide the user with reason for recommendation of additional or replacement components (e.g., prior reliability issue as indicated in the knowledge graph 354 or long lead time as indicated from the supply chain data 380 for a component recommended to be replaced). As such, a more adaptive, reliable, higher quality, and complete BoM is generated based on the initially recommended base BoM from the digital population twin of the planned site....") The examiner interprets where executing an embeddings comparison algorithm to compare embeddings of the component IDs to thereby identify a substitute component ID is shown in a "BoM similarity calculator engine 344" and querying the graph for matches in the embedding space to provide "replacement component recommendations".)
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 (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action.
The factual inquiries 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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claim(s) 2-11, 13-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over US PGPUB No. US20210224929A1 by Bajaj et al. view of US PGPUB No. US20120185422A1 by Shah et al.
Regarding Claim 2
Bajaj teaches anticipates The computing system of claim 1 (See claim 1). Bajaj fails to teach wherein the processor is further configured to execute a life cycle analysis (LCA) program configured to compute an LCA result using an LCA algorithm based at least upon the substitute component ID. Shah fails to teach wherein the processor is further configured to execute a life cycle analysis (LCA) program ([0004-0005]: “Life Cycle Analysis (LCA) databases are beginning to become publicly available. For example, the Open LCA initiative is a public domain data sharing protocol. These databases may include, for example, data related to the mining efforts of raw materials, in addition to the disposal/recycling efforts to handle the components of products after consumers discard the products. These databases have thus far experienced limited adoption. The databases include vast amounts of data that can be useful to manufacturers given the component breakdown of current products. It is said, for example, that a product as simple as a pen can include over 1500 parameters when considered on a cradle-to-grave basis.” The examiner interprets where the processor is further configured to execute a life cycle analysis (LCA) program is shown in the disclosure of a "Life Cycle Analysis (LCA) databases" and "cradle-to-grave assessment" for components.) configured to compute an LCA result using an LCA algorithm based at least upon the substitute component ID. ([0101]: "... Still further operations may also include determining at least one substitute component for the system under consideration based on the new tree. In an example, further operations may include outputting a bill of materials with the at least one substitute component based on the new tree. The bill of materials may be printed for a user (e.g., a consumer). In an example, the bill of materials may be vetted (e.g., by a design engineer) to ensure that any substitutions are appropriate. For example, a high-efficiency processor for a laptop computer may not be an appropriate substitution for a mobile phone...." The examiner interprets where configured to compute an LCA result using an LCA algorithm based at least upon the substitute component ID is shown in Bill of material/environmental impact. The feasibility of substitution (replacement) is based on Bill of material and therefore is part of the LCA.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the computing system of Bajaj to include the LCA program and algorithm as taught by Shah. One would be motivated to do so because, as Shah suggests, [0003]: “Manufacturers can also consider the impact of their products on the environment and other parameters. Electronics devices (e.g., computers, printers, and mobile phones), can be a concern because these devices typically have very short lifetimes and are commonly discarded by consumers when newer devices become available. For example, users may discard their mobile phone every two years when they are offered free or discounted equipment to renew their mobile phone contract with their carrier. Consumers also may discard their computers, televisions, and other appliances after only a few years of service, often because it is less expensive to replace than to repair.” [0032]"... For example, the host 110 receives information from the source 140 including environmental impact based on a cradle-to-grave [LCA] assessment for various components that may be used...." [0034] "... A system that implements component substitution as described herein has the capability to take a description of a system under consideration (e.g., including in terms of inherent properties of the device or service), and assess the characteristics (e.g., price [which factors in Bill of Material; in context of Shah [0101]], environmental footprint, customer satisfaction, warranty) of the individual components..." Manufacturers increasingly need to assess the environmental impact of their products, and integrating LCA metrics into an automated substitution system allows for more informed and sustainable manufacturing decisions. The result of this combination, a substitution system that optimizes for both component similarity and environmental impact—is the predictable outcome of applying known sustainability assessment techniques to existing automated BoM advisors.
A PHOSITA would have been motivated to combine the LCA assessment of Shah with the embedding-based substitution system of Bajaj. Shah explicitly identifies that "Manufacturers can also consider the impact of their products on the environment" and that LCA databases are becoming available for this purpose. Integrating Shah's "tree assessment module" (which calculates environmental footprints) into Bajaj's "BOM similarity calculator" would allow the system to provide users with critical sustainability metrics for the predicted substitutes, thereby improving the utility of the system for environmentally conscious manufacturing.
This combination is the "use of a known technique (Shah's LCA assessment) to improve similar devices (Bajaj's substitution system) in the same way" and yields "predictable results" (an automated substitution system that evaluates both functional similarity and environmental impact).
Regarding Claim 3
Bajaj teaches anticipates The computing system of claim 1 (See claim 1). Bajaj teaches wherein, to generate the component graph, the model training program is further configured to:
receive component data including component hierarchical data, ([0088]: “While methods and systems have been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the claims. For example, in another exemplary implementation, one or more components may correspond to sub-assemblies where each sub-assembly may include components and/or sub-assemblies. In this way, a BoM for a given equipment may correspond to a hierarchical/nested list of components.”) component IDs, ([0068]: “Such remaining component description information may then be tokenized into a list of words that become concepts or features for this unique component. In the knowledge graph, the part number for the component may be used to identify a component node.”) and meta data of properties of each of the component IDs; ([0021]: “The list of components in the BoM may be numerous, and each component may be associated with various properties, including but not limited to general properties such as prices, availability, lead time, reliability, and the like, and other properties specific to the particular equipment being manufactured and particular site being constructed. These properties of all the components in the BoM collectively affect a trade-off between cost and time (e.g., a time duration needed to complete the manufacturing of the product or the construction of the site) in complex manners that are difficult to track manually.”) generate an initial instance of the component graph based on the component hierarchical data; (See [0055]: The examiner interprets where generate an initial instance of the component graph based on the component hierarchical data is shown in generating a knowledge graph (354) from BOM hierarchies.) generate a vector representation for each node of the component graph; (See Figure 3, [0056-0057]: The examiner interprets where generate a vector representation for each node of the component graph is shown in creating a "vectorized representation" of components and properties.) generate tokenized features based on the component IDs and the meta data of properties of the components indicated by each of the component IDs; ([0068]: “Such remaining component description information may then be tokenized into a list of words that become concepts or features for this unique component. In the knowledge graph, the part number for the component may be used to identify a component node.”) and concatenate the vector representation for each node and the tokenized features to generate the initial instance of the component graph with node-wise feature vectors for each of the component IDs. (also [0068][0021][0056]-[0057]).
Shah also teaches generate tokenized features based on the component IDs and the meta data of properties of the components indicated by each of the component IDs; . ([0065]: “More detailed matching techniques are described in detail below. For now it is sufficient to understand that attributes may be analyzed, for example, by comparing at least one measurable aspect. For example, comparing text using the longest common string march for matching text strings, pixel matching for matching pictures, and so forth.” and concatenate the vector representation for each node and the tokenized features to generate the initial instance of the component graph with node-wise feature vectors for each of the component IDs. ([Abstract]: “Systems and methods of determining node similarity for component substitution. An example of a method may be carried out by program code stored on non-transient computer-readable medium and executed by a processor. The method includes estimating a normalized similarity metric between the plurality of nodes in the system tree and nodes in other trees. The method also includes assigning a similarity score to each compared node using at least one of: domain based rules, attribute based similarity metrics, and machine learning. The method also includes combining results for cluster analysis.” [0079]: “The similarity metric between two nodes may be determined using cosine similarity to compare two vectors of attributes. The similarity metric may be determined as the dot product between the two attribute vectors, divided by the magnitude of both the vectors, as follows: S=(A1−A2)/(|A1|A2|)”)
It would have been obvious to a PHOSITA before the effective filing date of the invention to concatenate the structural node vectors of Bajaj with the tokenized property features (as suggested by Shah's attribute vectors) to create a single, unified node-wise feature vector. One would be motivated to do so because joining structural graph context with specific metadata properties provides a more comprehensive representation of the component, thereby increasing the accuracy of the similarity comparisons used to identify substitute; a predictable result of using standard machine learning feature engineering techniques.
A PHOSITA would have been motivated to combine the structural graph representations of Bajaj with the comprehensive attribute vectors of Shah. Concatenation is a well-known, routine technique in machine learning used to join heterogeneous feature sets (e.g., structural graph information and textual/metadata properties) into a single feature vector for more robust similarity analysis.
This combination is the "use of a known technique (concatenation of attribute vectors as in Shah) to improve similar devices (Bajaj's embedding-based graph) in the same way". The result; a unified node-wise feature vector that accounts for both graph structure and component properties, is a predictable outcome of applying standard feature engineering practices to Bajaj's intelligent BOM advisor.
Regarding Claim 4
Bajaj in combination with Shah teaches The computing system of claim 3 (See claim 3). Bajaj teaches ([0056-0057]: The examiner interprets where output the node embeddings for each of the component IDs in the component graph from the trained ML model is shown in components "vectorized" into an "embedding space" based on properties.)
Bajaj fails to explicitly disclose the specific methodology of generating a training dataset comprising "positive match training data pairs and negative match training data pairs" specifically derived from a "data distance algorithm" applied to the feature vectors to train the model. Shah teaches wherein, to generate the component graph, the model training program is further configured to: generate a training data set ([0083]: “In another example, a “labeled” data set is already available. In other words, the similarity between any two nodes in the data set is known. Such a data set can be used for training a machine learning model. The input to the model includes “features” extracted from the node attributes. The output is the similarity metric. A trained model, which has learned the relationship between the node features and the similarity metric, may be used to determine the similarity between two new nodes for which the similarity is not known, but the same features can be extracted from their attributes.”) by obtaining positive match training data pairs and negative match training data pairs for each of a plurality of pairs of the node-wise feature vectors, ([0080]: “In a third example, a model-based similarity metric may be employed. In this technique, the similarity between two nodes is based on data that is available, such as but not limited to: textual descriptions of each of the nodes, a large number of trees consisting of the nodes, data where similarity between nodes is already known (e.g., has been assigned manually by a domain expert).”) wherein the positive match training pairs and negative match training pairs are pairs of component IDs for which the respective concatenated feature vectors negatively and positively match according to a data distance algorithm; (See [0022]) train a machine learning (ML) model ([0083]: “In another example, a “labeled” data set is already available. In other words, the similarity between any two nodes in the data set is known. Such a data set can be used for training a machine learning model. The input to the model includes “features” extracted from the node attributes. The output is the similarity metric. A trained model, which has learned the relationship between the node features and the similarity metric, may be used to determine the similarity between two new nodes for which the similarity is not known, but the same features can be extracted from their attributes.”) based on the positive match training data pairs and negative match training data pairs; ([0084]: Note that, the similarity metric does not have to be symmetric. That is, S(N1, N2)≠S(N2, N1), where S( ) denotes the similarity function, and N1, N2 are two nodes. Because S(N1, N2) denotes the substitutability of N1 with N2, N1 with N2 may not always be the same as the substitutability of N2 with N1. Indeed, if all attributes of N1 are subsumed in N2, then N2 may be able to replace N1, but not vice-versa. That is, S(N1, N2)=1, while S(N2, N1)<1 or even 0.”)
A person of ordinary skill in the art (PHOSITA) would have been motivated to implement the predictive model training of Bajaj using the "labeled data set" and "machine learning training" principles taught by Shah. Shah explicitly notes that similarity knowledge "aids in finding suitable substitutions" and that "a labeled data set... can be used for training a machine learning model".
Applying Shah’s teaching of training a model with known similarity data (positive/negative pairs) to Bajaj’s embedding system is the "use of a known technique (supervised ML training) to improve similar devices (Bajaj's substitution predictor) in the same way". It is well-known in the art of machine learning that to produce an embedding space where similar items are closer (as in Bajaj), the model must be trained on pairs of items with known relationships (i.e., positive, and negative matches). Using a distance algorithm to define these training pairs from available data is a routine and predictable implementation of the ML training Shah suggests.
It would have been obvious to a PHOSITA before the effective filing date of the invention to train the predictive models of Bajaj by generating a training set of positive and negative match pairs based on distance metrics, as suggested by Shah's labeled data training. One would be motivated to do so because supervised training on labeled pairs is a standard, known technique required to optimize a machine learning model to produce the specific embedding behavior described in Bajaj (where similar features are closer in space). The use of a "data distance algorithm" to identify these training pairs is the predictable result of applying Shah's distance-based similarity metrics to the task of model training described in Bajaj.
Regarding Claim 5
Bajaj in combination with Shah teaches The computing system of claim 2 (See claim 2). Bajaj fails to teach wherein there is no Full Material Disclosures (FMD) data or missing FMD data for the target node in a source LCA dataset. Shah teaches wherein there is no Full Material Disclosures (FMD) data or missing FMD data for the target node in a source LCA dataset (See [0004-0005], [0006]: “These databases provide no analysis of the data for the manufacturer. For example, while a user may be able to use these databases to check whether the use of a particular plastic might have a bigger impact than another type of plastic, the database still provides no other information that the manufacturer can use to make, e.g., business decisions.” [0037]: “In an example, the architecture of machine readable instructions may include a matrix completion module 170. The matrix completion module 170 may populate the database with information related to various devices. The information may include price and environmental impact, among other characteristics. Existing data from commercial databases, published literature, or internal systems may be used as seed data. The seed data is then expanded through one or more of data mining, knowledge discovery, regression, and/or other techniques. In this manner, a few starting points of readily available data are used initially, and more comprehensive information can be constructed for the database.” The examiner interprets where there is no Full Material Disclosures (FMD) data or missing FMD data for the target node in a source LCA dataset is shown in LCA databases are "publicly available" but manufacturers have "no analysis" & using "seed data" (initially incomplete) to "expand" and "construct" more "comprehensive.)
A person of ordinary skill in the art (PHOSITA) would be motivated to apply the embedding-based substitution prediction of Bajaj to the problem of missing material data in LCA databases as described by Shah. Shah explicitly teaches that manufacturers "consider the impact of their products on the environment" but that available databases often require "knowledge discovery" to move from "seed data" to "more comprehensive information". A PHOSITA would recognize that if FMD data (the material composition parameters described in Shah) is missing for a "target" component, the most effective way to complete an LCA is to use Bajaj’s embedding-based system to find a substitute component that is functionally similar and has complete material data.
This combination represents the "use of a known technique (Bajaj's embedding-based substitution) to improve similar devices (Shah's LCA-based substitution system) in the same way" to address the predictable problem of data sparsity in manufacturing databases. The result; identifying a substitute to bridge a gap in material disclosure data, is a predictable outcome of applying Bajaj’s similarity metrics to Shah’s described "seed data" problem.
It would have been obvious to a PHOSITA before the effective filing date of the invention was made to modify the system of Bajaj to identify substitutes in the specific context where material disclosure data (FMD) is missing for a target component in an LCA dataset, as taught by Shah. One would be motivated to do so because manufacturers require complete material data to accurately "assess, monitor, and reduce their environmental footprint". Using Bajaj’s embedding-based similarity comparison to find a substitute for a component with "missing" data (Shah's "seed data" problem) is the predictable application of modern graph analysis to automate and improve the accuracy of sustainability reporting in manufacturing.
Regarding Claim 6
Bajaj in combination with Shah teaches The computing system of claim 5 (see claim 5). Bajaj fails to teach wherein the FMD data is present for the substitute component ID in a modified LCA dataset, wherein the LCA model is fed the modified LCA dataset as input to produce the LCA result. Shah teaches wherein the FMD data is present for the substitute component ID in a modified LCA dataset, ((See [0004-0005] & [0006]: The examiner interprets where the FMD data is present for the substitute component ID in a modified LCA dataset is shown as a "matrix completion module 170" that takes "seed data" and constructs "more comprehensive information" (FMD data).) wherein the LCA model is fed the modified LCA dataset as input to produce the LCA result. (See [0042]:The examiner interprets where the LCA model is fed the modified LCA dataset as input to produce the LCA result is shown in a "tree assessment module 175" configured to calculate footprints based on similarity-derived data.)
Regarding Claim 7
Bajaj in combination with Shah teaches The computing system of claim 3 (see claim 3). Bajaj teaches wherein the model training program is configured to generate the initial instance of the component graph based on the component hierarchical data (See [0064] & [Figure 4], [0055], [0088]: The examiner interprets where the model training program is configured to generate the initial instance of the component graph based on the component hierarchical data is shown in a "knowledge ingestion pipeline" to generate a knowledge graph (354) from "historical BoMs" (hierarchical/nested lists). plurality of subgraphs of units of the assembled product equipment via the common component. (See Figure 4 & [0066]: “Correlation between entities in the materialized graphical database above may be identified. For example, correlations between components (of the “material part” type in the schema 400 of FIG. 4) may be identified and used as replacement to one another. Such relationship between particular components may be extracted learned through relationship pattern between these components and various BoM entities (of the “BoM” type in FIG. 4) of various related sites (of the “site” type in FIG. 4) that may be similar in their descriptor (of “descriptor type in FIG. 4), market (of “market” type in FIG. 4), and/or other properties not shown in FIG. 4.”)
Bajaj fails to explicitly disclose the specific logic for generating the graph instance by identifying a common component to link a plurality of subgraphs representing unit equipment. Shah teaches by identifying a common component ([0091-0092]: “For purposes of illustration, further operations may include rating the nodes based on respective similarity scores, and replacing the at least one of the common nodes in the system tree is based on the rating. FIG. 5 is a flowchart illustrating example operations of component substitution which may be implemented. In operation 510, building a system tree having a plurality of nodes, each node in the system tree representing a characteristic of a component of a system under consideration. For example, a tree may be for a new laptop computer. The tree may include a motherboard node, a keyboard node, a hard disk drive node, and a display node. The keyboard node may further include a housing node, a cabling/wireless node, and a circuit board node. In this example, the keyboard node is the parent node and the housing node, cabling/wireless node, and circuit board node are child nodes of the keyboard node. Any degree of granularity may be utilized based at least to some extent on design considerations (including desired output, and time to process).” [FIG. 5]:
PNG
media_image4.png
595
576
media_image4.png
Greyscale
[0051-0052]: “The tree structure provided in the database may be better understood from the following discussion with reference to FIG. 2B. FIG. 2B illustrates a plurality of tree structures 210 a-e that may be provided in the database. The trees 210 a-e each have a plurality of nodes. Each node in the tree 210 a-e may further include subnodes, thereby defining a child-parent relationship between the nodes, and providing additional layers of granularity for the components. For purposes of illustration, the tree structures 210 a-c are for computer devices. It is noted that any suitable number and type of other trees may be also used. For example, tree structure 210 d is for a printer, and tree structure 210 e is for a mobile phone. Accordingly, nodes that are suitable for substitution may be found in system trees that are not necessarily related to one another in a conventional sense. For example, a computer is different than a printer in most regards, which is different than a mobile phone. But there may be overlap in at least one of the nodes. For example, computers, printers, and mobile phones all have in common a processor, some degree of memory, and a housing.”
[FIG. 2B]:
PNG
media_image5.png
574
934
media_image5.png
Greyscale
The examiner interprets whereby identifying a common component is shown in identifying a "common node" (e.g., "motherboard node") that disparate product trees "all have in common.")
A PHOSITA would have been motivated to modify the knowledge graph generation of Bajaj to incorporate the "common component" linkage taught by Shah. Shah explicitly explains that "understanding node similarity aids in finding suitable substitutions" and that recognizing "common nodes" across trees allows a manufacturer to reuse "component hierarchies" from one unit (e.g., a server) in another (e.g., a laptop). Integrating this structural linkage into Bajaj’s graph-building process allows the system to better identify cross-product substitutions, which is a predictable result of applying Shah's "common node" hierarchy principles to Bajaj's automated BOM advisor.
This combination is the "use of a known technique (linking unit subgraphs via common components as in Shah) to improve similar devices (Bajaj's knowledge graph generation) in the same way" [MPEP 2143(C)].
It would have been obvious to a PHOSITA before the effective filing date of the invention to generate the initial instance of the knowledge graph in Bajaj by identifying common components and linking unit subgraphs through those components, as suggested by Shah's crosstree commonality analysis. One would be motivated to do so because, as Shah suggests, anchoring graph structures on shared underlying hardware allows the system to provide recommendations based on functional relevance across different product categories. This provides a more robust dataset for the predictive similarity algorithms described in Bajaj; a predictable outcome of using known hierarchical data modeling techniques in a manufacturing BOM system.
Regarding Claim 8
Bajaj in combination with Shah teaches The computing system of claim 4 (see claim 4). Baja fails to teach Shah teaches wherein the positive match training data pairs are obtained when a Jaccard distance is larger than a positive match threshold; ([0022]: “Similarity measures for continuous (and ordinal) data are straightforward. Typically the L1 norm (Manhattan distance) or L2 norm (Euclidian distance) are used. However, no such universal measures exists for categorical data. Prior solutions for comparing nodes in databases are manual, wherein a domain expert examines the nodes and determines similarity. The systems and methods disclosed herein may be used to compute similarity between nodes in databases. Techniques which may be implemented include, but are not limited to, a) domain-based rules, b) attribute-based rules, and c) model-based rules.” [0070]: “In a second example, an attribute-based similarity metric may be employed. Multivariate attributes, typically available for each node, are used to compute a similarity metric. The final similarity metric comprises the similarity in each individual attribute. For purposes of illustration, the final similarity metric may include the weighted sum of the similarity of each of the attributes. The similarity function for each attribute may be defined by a domain expert. For example, similarity between string attributes may be computed from the longest common subsequence (LCS) match. In another example, similarity may be based on longest common prefix (LCP). In another example, similarity may be based on a combination of LCS and LCP. In yet another example, similarity may be computed using Levenshtein distance between strings. Other string matching algorithms may also be used. For example, similarity between numeric attributes may be computed using Minkowski distance.”) and the negative match training data pairs are obtained when a Jaccard distance is larger than a minimum threshold and less than a negative match threshold for the pair of component IDs. ([0066] "...[0066] A similarity metric of one indicates a match (e.g., the same node or nodes that are always interchangeable). For example, nodes 301 and 302 for the processor of two different laptop computers are assigned a similarity metric of one because the nodes 301 and 302 are identical (all attributes match). A similarity metric of zero indicates no match (e.g., in no situation can one node substitute for the other). For example, nodes 301 and 303 for the laptop and printer are assigned a similarity metric of zero because the processors are not interchangeable (no attributes match. Intermediate values between 0 and 1 indicate various degrees of similarity between the nodes. For example, nodes 303 and 304 for the printer and a mobile phone are assigned a similarity metric of 0.8 because the processors have sufficient common attributes that the processors may be interchangeable for some uses (some attributes match)...."
[0089]"... [0089] In an example, a similarity score of one indicates interchangeable nodes. A similarity score of zero indicates no match. In operation 430, results are combined for cluster analysis. Accordingly, the similarity score may be used to compute similarity between any two nodes in a database. It is noted that the similarity score is asymmetric...."
[0097] Threshold is shown as minimum
"...[0097] In an example, the component substitution operations may be implemented with a customer interface (e.g., web-based product ordering interface). The customer is able to make predetermined selections (e.g., specifying minimum processor speed), and the operations 510-530 described above are implemented on a back-end device to present the user with various designs that meet the customer's minimum expectations. The user can then further select which of the alternatives best suit the customer's preferences (e.g., for price, environmental impact, customer satisfaction, and warranty)..." )
It would have been obvious to a PHOSITA before the effective filing date of the invention to automate the generation of Shah's "labeled data set" by applying such thresholds to component pairs. This is a standard practice in semi-supervised machine learning (pseudo-labeling) used to create positive and negative training examples from available data without manual expert intervention. The specific selection of thresholds to define these training ranges is a matter of routine optimization to yield the most effective "ground truth" for the model training described in Shah; a predictable result of applying known ML data engineering techniques to Bajaj's component advisor.
A person of ordinary skill in the art (PHOSITA) would have been motivated to implement the ML model training of Bajaj/Shah using a Jaccard distance algorithm to compare the "word features" of components. Shah teaches using attribute-based similarity and distance metrics. Bajaj teaches tokenizing component descriptions into "word features". A PHOSITA would recognize that Jaccard distance is a standard, routine mathematical tool specifically used for measuring the dissimilarity between sets of tokens or categorical features (i.e., the "word features" of Bajaj).
The use of Jaccard distance is a "predictable substitution of one known element (Jaccard) for another (L1, L2, or Cosine similarity) to obtain predictable results" [MPEP 2143(B)]. Furthermore, generating training pairs by applying thresholds to an unlabeled pool of data (semi-supervised learning or pseudo-labeling) is a well-known technique in the art of machine learning to automate the creation of large-scale training sets. Selecting a range (e.g., between a minimum and negative threshold) to identify "hard negatives" or suitable negative samples is a routine optimization of the training process to improve model accuracy.
Regarding Claim 9
Bajaj in combination with Shah teaches The computing system of claim 4 (see claim 4). Bajaj fails to explicitly recite wherein the positive match training data pairs further include the pairs of component IDs included in a ground truth replacement component data set. Shah teaches wherein the positive match training data pairs further include the pairs of component IDs included in a ground truth replacement component data set. (See [0083-0084]: The examiner interprets where the positive match training data pairs further include the pairs of component IDs included in a ground truth replacement component data set is shown in discloses a "labeled data set" where "the similarity between any two nodes in the data set is known" and used for "training a machine learning model".)
Regarding Claim 10
Bajaj in combination with Shah teaches The computing system of claim 2 (See claim 2). Bajaj teaches wherein the processor is further configured to display a graphical user interface (GUI) (See [FIG. 3] & [0040]: “FIG. 3 illustrates a functional block diagram 300 for an exemplary intelligent BoM system including a BoM advisor 310 in communication with database 370. The BoM advisor 310 may include a BoM advisor core 340 (alternatively referred as the core for simplicity), a data store 350, a data synchronization circuitry 320, a data integration pipeline 330, and a BoM advisor orchestrator 326 (alternatively referred to as an orchestrator) that functions as a coordinator between the core 340, the data store 350, the data synchronization circuitry 320, and the data integration pipeline 330. The BoM advisor 310 further includes various graphical user interfaces (GUIs) 360 to enable control of the operation of the BoM advisor 310, including, for example, an end user dashboard 362 and an administrator dashboard 364.”([0075]: “FIG. 9 shows an exemplary user interface 900 for displaying full base BoM 902 as optimized in FIG. 8. An option may be provided for the user to further add, remove, or replace components in the base BoM 902. For example, the user may add components to the base BoM 902 using button 904. Activation of the button 904 may trigger display of panel 906, which shows a list of components that the user may choose to add to the BoM. Further information related to these components may be shown. For example, important information such as cable length 908 may be provided (as splicing of cables having incorrect lengths my cause much delay and cost overhead during construction of the cell site). For another example, reliability information extracted from the maintenance records described above may be shown for one or more components to assist component selection by the user, as indicated by 910.”
[Figure 8]:
PNG
media_image6.png
595
751
media_image6.png
Greyscale
[0077-0078]: “FIG. 11 depicts an exemplary user interface 1100 showing a scheduling analysis for the cell site construction. The exemplary user interface 1100 may depict one or two timelines 1102 for the projects with respect to various milestones 1104, and dependency among the milestones. The exemplary interface 1100 may be further configured to show a list of components 1106 that are critical to the timelines 1102 and thus represent risks to the project. The displayed information may include, among others, reasons for the risks 1108. FIG. 12 depicts an exemplary user interface 1200 showing a cost-construction time analysis 1202 for the cell site construction compared with other completed or in-progress cell sites. The exemplary user interface 1200 may further show a list of components 1106 that are critical to the timelines 1102 and thus represent risks to the project, similar to the exemplary user interface 1100 of FIG. 11.”
[FIG. 11]:
PNG
media_image7.png
598
776
media_image7.png
Greyscale
[FIG. 12]:
PNG
media_image8.png
594
769
media_image8.png
Greyscale
) and further including an order selector enabling a user to order the substitute component or one of the other components. ([0079]:” FIG. 13 depicts an exemplary user interface 1300 for selecting a cell site project for generating a component order and project timelines. As shown in FIG. 13, a cell site project can be selected/searched/filtered according to project name 1301, value 1302, project start time 1304 and/or end time 1306. The full BoM of the selected project may be shown in 1308, with component relationship shown graphically in 1310. Activation of button 1312 may trigger placement of orders for the components and generation of the project timeline.”
[FIG. 13]:
PNG
media_image9.png
596
771
media_image9.png
Greyscale
)
Bajaj fails to teach including a part sourcing tool that shows the substitute component ID with the LCA result. Shah teaches including a part sourcing tool that shows the substitute component ID with the LCA result (See [0042]: The examiner interprets where including a part sourcing tool that shows the substitute component ID with the LCA result is shown in a "tree assessment module" to calculate environmental footprints (LCA results) for substitute components.)
A PHOSITA would have been motivated to combine the sourcing and ordering interface of Shah with the embedding-based substitution system of Bajaj. Shah explicitly states that "understanding node similarity aids in finding suitable substitutions" and that manufacturers need to "assess, monitor, and reduce their environmental footprint". Integrating Shah's UI; which shows similarity scores and environmental footprints, into Bajaj's "End User Dashboard" would allow a manufacturer to make procurement decisions that are optimized for both functional performance and sustainability, which is a predictable result of applying known e-commerce filtering and reporting techniques to a BoM advisor.
This combination represents the "use of a known technique (Shah's ordering UI with scores/LCA) to improve similar devices (Bajaj's BoM advisor) in the same way" [MPEP 2143(C)].
It would have been obvious to a PHOSITA before the effective filing date of the invention to modify the substitution system of Bajaj to include a part sourcing tool in the GUI that displays the substitute component ID with its LCA result and similarity score, along with an order selector, as taught by Shah. One would be motivated to do so because, as Shah suggests, providing users with both functional similarity metrics and environmental impact data in a single procurement interface allows for more informed and sustainable manufacturing choices. The combination of Bajaj’s automated substitution engine with Shah’s metric-heavy ordering interface is the predictable application of known data-visualization and e-commerce selection techniques to the field of automated Bill of Materials management.
Regarding Claim 11
Bajaj anticipates The computing system of claim 1 (See claim 1). Bajaj teaches wherein the processor is further configured to display a graphical user interface (GUI) (See [FIG. 3] & [0040]: The examiner interprets where the processor is further configured to display a graphical user interface (GUI) is shown in various GUIs, including an "End User Dashboard".)(See Figure 3, [0056-0057]: The examiner interprets where compared to other LCA scores for other components having similarity scores within a predetermined range.. is shown in similarity algorithms based on "closeness in distance" (predetermined range).)
Baja fails to teach including a data validity tool that identifies that the LCA result for the substitute component is an outlier. Shah teaches including a data validity tool that identifies that the LCA result for the substitute component is an outlier ([0034]: “A system that implements component substitution as described herein has the capability to take a description of a system under consideration (e.g., including in terms of inherent properties of the device or service), and assess the characteristics (e.g., price, environmental footprint, customer satisfaction, warranty) of the individual components. The system may then output a list of substitute components and/or an assessment of various product designs. Component substitution may be better understood with reference to the following discussion of an example implementation of machine readable instructions.” [0031]: “In addition, the host 110 may be operable to communicate with at least one information source 140. The source 140 may be part of the service 105, and/or the source 140 may be distributed in the network 130. The source 140 may include any suitable source(s) for information about various components. For example, the source 140 may include manufacturer specifications, proprietary databases, public databases, and/or a combination of these, to name only a few examples of suitable sources. The source 140 may include automatically generated and/or manual user input. If the source 140 includes user-generated data, an appropriate filter may be applied, e.g., to discard “bad” data or misinformation. There is no limit to the type or amount of information that may be provided by the source 140. In addition, the information may include unprocessed or “raw” data. Or the data may undergo at least some level of processing.” The examiner interprets where a data validity tool that identifies that the LCA result for the substitute component is an outlier is shown in "environmental footprints" (LCA results) and an "appropriate filter... to discard 'bad' data or misinformation.)
A PHOSITA would have been motivated to implement the data filtering logic of Shah within the GUI of Bajaj. Shah explicitly notes that "decisions to substitute components cannot be made by simply consulting a database, without some analysis" and provides a filter to "discard 'bad' data or misinformation". A PHOSITA would recognize that LCA data, which Shah describes as containing "vast amounts of data" with "over 1500 parameters", is highly susceptible to inaccuracies. Applying Shah's teaching of "discarding bad data" to the LCA results in Bajaj’s system; specifically by identifying "outliers" (the statistical equivalent of "bad data") among similar components, is a routine application of known data validation techniques to improve the reliability of the system’s output [MPEP 2143(C)].
This is the "use of a known technique (filtering bad data as in Shah) to improve similar devices (Bajaj's substitution system) in the same way" to achieve the predictable result of a more accurate and trustworthy sustainability-based procurement tool.
It would have been obvious to a PHOSITA before the effective filing date of the invention to configure the GUI of Bajaj to include a "data validity tool" that identifies LCA results as "outliers," as taught by the "bad data" filtering logic of Shah. One would be motivated to do so because, as Shah explains, manufacturing substitution decisions require robust analysis of many information paths to avoid reliance on "misinformation". Identifying a result as an "outlier" (a standard statistical manifestation of "bad data") by comparing it to the LCA results of functionally similar peers (Bajaj's "closeness in distance" or Shah's "k most similar nodes") is the predictable application of routine statistical data-integrity checks to the field of automated sustainability reporting; a known technique used to improve the functioning of data-driven recommendation engines.
Regarding Claim 20
Bajaj teaches A computing system for predicting substitute or missing parts of an assembled product, (See [0034] & [0063]: The examiner interprets where A computing system for predicting substitute or missing parts of an assembled product is shown in an "Intelligent Bill of Materials Advisor" for tracking components and predicting replacements.) the computing system comprising a processor having associated memory storing instructions that cause the processor to: (See [0084-0085]: The examiner interprets where comprising a processor having associated memory storing instructions is shown in a computer device (1400) with processor (1418) and memory (1420).) execute a model training program configured to: receive component data including component hierarchical data, component IDs, and meta data of properties of each of the component IDs; ( See [0088], [0068],[0021]: The examiner interprets where ] execute a model training program to: receive component data including component hierarchical data, component IDs, and meta data of properties is shown in receiving BoMs ("hierarchical/nested list"), part numbers (IDs), and properties (prices, reliability).) generate an initial instance of component graph based on the component hierarchical data; (See [0064] & [Figure 4], [0055]: The examiner interprets where generate an initial instance of component graph based on the component hierarchical data is shown in generating a knowledge graph (354) from BoM hierarchies.) generate tokenized features based on the component IDs and the meta data of properties of the components indicated by each of the component IDs; (See [0068]: The examiner interprets where generate tokenized features based on the component IDs and the meta data is shown in component descriptions normalized and "tokenized into a list of words that become... features".) generate node-wise feature vectors for each of the component IDs based on the initial instance of the component graph and the tokenized features; (See Figure 3, [0056-0057]: The examiner interprets where ] generate node-wise feature vectors... based on the initial instance of the component graph and the tokenized features is shown in creating a "vectorized representation" of components and properties.) generate a training data set by obtaining positive match training data pairs and negative match training data pairs for each of a plurality of pairs of the node-wise feature vectors, wherein the positive match training pairs and negative match training pairs are pairs of component IDs for which the respective concatenated feature vectors negatively and positively match according to a data distance algorithm; ((See Figure 3, [0056-0057]: The examiner interprets where generate a training data set by obtaining positive match training data pairs and negative match training data pairs... based on a data distance algorithm is shown in querying for "matches" based on "closeness in distance" between vectors.) train a machine learning (ML) model based on the positive match training data pairs and negative match training data pairs to output the node embeddings for each of the component IDs in the component graph from the trained ML model; (See [0063]: The examiner interprets where train a machine learning (ML) model based on the match pairs to output the node embeddings... is shown in training prediction models based on its knowledge graph.) and generate, via the trained ML model, the component graph including a respective node for each of a plurality of component IDs of the assembled product based on the component data, the component graph including node embeddings for each node, the node embeddings being computed such that nodes with similar features are closer in a node embedding space than nodes with dissimilar features; (See Figure 3, [0056-0057]: The examiner interprets where generate... the component graph including node embeddings... computed such that nodes with similar features are closer in a node embedding space...is shown in matching using "similarity algorithms (e.g., closeness in distance between the vectors in the vector or embedding space)".) execute an embeddings comparison algorithm to compare embeddings of the component IDs to thereby identify a substitute component ID for a target node on the graph; (See ([0041] & [0057]: The examiner interprets where execute an embeddings comparison algorithm to... identify a substitute component ID... is shown in a "BoM similarity calculator engine 344" and querying graph for best matches.)
Bajaj fails to teach and execute a life cycle analysis (LCA) program configured to compute an LCA result using an LCA algorithm based at least upon the substitute component ID. Shah teaches and execute a life cycle analysis (LCA) program configured to compute an LCA result using an LCA algorithm based at least upon the substitute component ID (See [0004-0005]: The examiner interprets where execute a life cycle analysis (LCA) program... to compute an LCA result... based at least upon the substitute component ID is shown in "Life Cycle Analysis (LCA) databases" and "cradle-to-grave assessment" for substitute components.)
A person of ordinary skill in the art (PHOSITA) would have been motivated to combine the LCA assessment of Shah with the embedding-based substitution system of Bajaj,. Shah explicitly states that "understanding node similarity aids in finding suitable substitutions" and that manufacturers need to "assess, monitor, and reduce their environmental footprint",. Integrating Shah's labeled training methodology (positive/negative pairs based on known similarity) into Bajaj’s embedding training would allow the model to learn spatial representations that more accurately reflect real-world functional interchangeability, a predictable result of applying known supervised learning techniques,.
This combination is the "use of a known technique (Shah's labeled match training and LCA assessment) to improve similar devices (Bajaj's BoM advisor) in the same way" [MPEP 2143(C)]. Using a distance algorithm to identify match pairs and concatenating features to form node-wise feature vectors are routine feature engineering practices in the art of machine learning.
It would have been obvious before the effective filing date of the invention to modify Bajaj to include the LCA program of Shah to provide users with critical sustainability metrics for predicted substitutes, which is the predictable result of applying known sustainability assessment techniques to an automated procurement advisor.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AARIC RAYJEE MARKS whose telephone number is (571)467-6372. The examiner can normally be reached Monday-Friday 8am-5pm.
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, Ryan Pitaro can be reached at (571) 272-4071. 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.
/AARIC R MARKS/Examiner, Art Unit 2188
/RYAN F PITARO/Supervisory Patent Examiner, Art Unit 2188
1 Spec [0002]: “The component graph includes node embeddings for each node, in which the node embeddings are computed such that nodes with similar features are closer in a node embedding space than nodes with dissimilar features.”
2 Spec [0017]: “Turning back to FIG. 2 , at the unsupervised learning stage 120, the model training program 18 is configured to generate, via a vector representation generator 134, a vector representation for each node 136 of the component graph 34.”