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 .
Status of Claims
This communication is a Final Office Action in response to Applicant’s amendment for application number 18/511,298 received on 10/13/2025.
In accordance with Applicant’s amendment, claims 1, 3-8, 10-15, and 17-20 are amended, currently pending, and have been examined.
Priority
Applicants claim for the benefit of a prior-filed application under 35 U.S.C. 119 and/or 35 U.S.C. 120 is acknowledged.
Response to Amendment
The amendment filed on 10/13/2025 has been entered.
Applicant’s amendment necessitated the new ground(s) of rejection set forth in this Office Action.
Response to Arguments
Response to §101 arguments – Applicant’s arguments (Remarks at pgs. 10-12) with respect to the §101 rejections previously applied to the original claims have been considered and are unpersuasive.
Applicant argues (Remarks at pg. 11) – “The above limitations specifically describe how the electronic device generates the target Trie tree, which includes identifying an attribute field matching the data dimension in the target business data, extracting afield content of the identified attribute field as attribute data, generating a target data sequence from the attribute data according to a level relationship of the data dimensions, and associating the target business data with an initial Trie tree according to the target data sequence to generate the target Trie tree. The above process of generating the target Trie tree is not a process that can practically be performed in the human mind and cannot be considered as a mental process. As described, for example, in paragraph [0027] of the specification as originally filed in the present application, in the conventional attribution analysis techniques, for each selection of the drill-down dimensions by a staff, it is necessary to perform a calculation of the contribution degree, which results in problems such as a low calculation efficiency of the contribution degree, a poor interaction experience between the staff and the machine, and a real-time requirement for some applications being not met. In the present application, by generating the target Trie tree based on the data dimensions and the target business data as described above, a plurality of drill-down paths under the data dimensions can be obtained at one time, and contribution degrees of the plurality of drill-down paths are calculated at one time, which solves the problem of incomplete drill-down paths existing in the conventional attribution analysis techniques, improves flexibility, and optimizes the calculation efficiency. See, e.g., specification, para. [0028]. Therefore, with at least the above limitations related to the generation of the target Trie tree, claim 1 of the present application specifies an improvement to the existing data processing techniques (specifically, attribution analysis techniques). Even assuming, arguendo, that one or more limitations in claim 1, other than the above limitations related to the generation of the target Trie tree, recites an abstract idea, the presence of the above limitations related to the generation of the target Trie tree integrates the abstract idea into a practical application. Thus, claim 1 of the present application is not directed to an abstract idea. Further, the above limitations related to the generation of the target Trie tree also provides an inventive concept, which makes claim 1 as a whole amount to significantly more than the abstract idea itself.”.
In response to Applicant’s suggestion that generating a Trie tree is not a process that can practically be performed in the human mind and cannot be considered as a mental process, Examiner first points out that one could certainly build a Trie tree in the human mind, or with the help of pen and paper. However, the other items discussed above (paragraph [0027] of Applicant’s specification) are irrelevant to the analysis because these features are not recited or required by the claim. For example, the claims do not recite or require preventing “low calculation efficiency of the contribution degree, a poor interaction experience between the staff and the machine, and a real-time requirement for some applications”. Applicant’s argument lacks merit because is relies on limitations not required by the claims and it would be improper to import such limitations from the Specification. See Superguide Corp. v. DirecTV Enterprises, Inc., 358 F.3d 870, 875, 69 USPQ2d 1865, 1868 (Fed. Cir. 2004). See also, CollegeNet, Inc. v. Apply Yourself Inc., 418 F.3d 1225, 1231 (Fed. Cir. 2005) (while the specification can be examined for proper context of a claim term, limitations from the specification will not be imported into the claims). Furthermore, Examiner notes that the use of a computer or other machinery in its ordinary capacity for economic or other tasks (e.g., to receive, store, or transmit data) or simply adding a general purpose computer or computer components after the fact to an abstract idea (e.g., a fundamental economic practice or mathematical equation) does not integrate a judicial exception into a practical application or provide significantly more. 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) (computer server and telephone unit). Similarly, "claiming the improved speed or efficiency inherent with applying the abstract idea on a computer" does not integrate a judicial exception into a practical application or provide an inventive concept. Intellectual Ventures I LLC v. Capital One Bank (USA), 792 F.3d 1363, 1367, 115 USPQ2d 1636, 1639 (Fed. Cir. 2015). In contrast, a claim that purports to improve computer capabilities or to improve an existing technology may integrate a judicial exception into a practical application or provide significantly more. McRO, Inc. v. Bandai Namco Games Am. Inc., 837 F.3d 1299, 1314-15, 120 USPQ2d 1091, 1101-02 (Fed. Cir. 2016); Enfish, LLC v. Microsoft Corp., 822 F.3d 1327, 1335-36, 118 USPQ2d 1684, 1688-89 (Fed. Cir. 2016). See MPEP §§ 2106.04(d)(1) and 2106.05(a) for a discussion of improvements to the functioning of a computer or to another technology or technical field. Therefore, the rejections are maintained.
Response to §103 arguments – Applicant’s arguments (Remarks at pgs. 12-16) with respect to the §103 rejections previously applied to the original claims have been considered and are unpersuasive.
Applicant argues (Remarks at pgs. 13-14) – “Therefore, the prefix tree generated in Luo cannot properly be analogized to the Trie tree where each level corresponds to data dimension of the business data and nodes at individual levels are associated with the business data belonging to the corresponding data dimension, as specified in claim 1.”. In response, Examiner respectfully disagrees and notes that the data disclosed by Luo in at least Table 1, and Table 2 could be reasonably interpreted by one of skill in the art, under BRI, as business data, since it discloses data related to server, host, and hostname, among other. This data could be reasonably interpreted as data related to the internet/general computing technological environment.
Applicant further argues (Remarks at pg. 15) – “Additionally, regarding the claim 1 recitation "performing an anomaly attribution analysis for the object to be analyzed based on the node contribution degree", the Office appears to divide this feature into two elements (i.e., "based on the node contribution degree" and "performing an anomaly attribution analysis for the object to be analyzed"). The Office asserts that Theirl discloses the element "based on the node contribution degree" and Guha discloses the element "performing an anomaly attribution analysis for the object to be analyzed". However, Applicant respectfully disagrees with this assertion and submits that such division of the claim recitation is improper. The aforementioned recitation in claim 1 should be treated as a whole and should not be further divided. Based on the foregoing, it cannot be said that the applied references, whether taken individually or in combination, disclose or render obvious the combination now recited in claim 1.”. In response, Examiner respectfully disagrees and notes that Theirl discloses an invention for the analysis of business data, Luo discloses an invention that includes the development of Trie trees as a key element to their analysis of business data, Chavva discloses an invention that relies on Trie trees to reduce the number components considered during the design of a product, and Guha discloses using attribution analysis to help generate quick or proactive responses in problematic situations such as resource overloads. Therefore, all references relied upon are directed to the analysis of business data, which makes them analogous to Applicant’s invention, as currently recited in Applicant’s claims.
Therefore, the rejections are maintained.
Furthermore, Applicant also argues (Remarks at pg. 14) – “Additionally, claim 1 specifically defines how to generate the target Trie tree, which includes identifying an attribute field matching the data dimension in the target business data, extracting afield content of the identified attribute field as attribute data, generating a target data sequence from the attribute data according to a level relationship of the data dimensions, and associating the target business data with an initial Trie tree according to the target data sequence to generate the target Trie tree. Luo fails to disclose or suggest at least these features of the combination recited in in claim 1.”. In response, Examiner notes that this argument is in support of the amendments made to the claims, which are believed to be fully addressed in the updated §103 rejections below.
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, 3-8, 10-15, and 17-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-patentable subject matter. The claims are directed to an abstract idea without significantly more. The judicial exception is not integrated into a practical application. The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception as further set forth in MPEP 2106.
Step 1: The claimed invention is analyzed to determine if it falls outside one of the four statutory categories of invention. See MPEP 2106.03
Claim(s) 1, and 3-7 is/are directed to a method (i.e., Process), and claim(s) 8, and 10-14 is/are directed to an electronic device (i.e., Manufacture), and claim(s) 15, and 17-20 is/are directed to a non-transitory computer-readable storage medium (i.e., Manufacture). Therefore, claims 1, 3-8, 10-15, and 17-20 are directed to patent eligible categories of invention. Accordingly, the claims satisfy Step 1 of the eligibility inquiry.
Step 2A, Prong 1: In prong one of step 2A, the claim(s) is/are analyzed to evaluate whether they recite a judicial exception. See MPEP 2106.04
Independent claims 1, 8, and 15 recite a method, a system, and a computer-readable storage medium for processing data to conduct an attribution analysis. As drafted, the limitations recited by the independent claims fall under the “Mental Processes” abstract idea group by setting forth activities that could be performed mentally by a human (including an observation, evaluation, judgment, opinion) (see MPEP § 2106.04(a)(2), subsection III).
Independent claims 1, 8, and 15 recite a method, a system, and a computer-readable storage medium for processing data to conduct an attribution analysis with the following limitations:
processing data to conduct an attribution analysis, the method being performed by an electronic device (But for the additional elements – underlined – recited in this limitation, the step for “processing data to conduct an attribution analysis” could be accomplished mentally, such as by human observation, evaluation, judgement, or with the help of pen and paper.);
acquiring target business data of an object to be analyzed, and acquiring a plurality of levels of data dimensions of the target business data, wherein the data dimensions are associated with data types of the target business data; (The steps to “acquiring target business data“ could be accomplished mentally, such as by human observation, evaluation, judgement, or with the help of pen and paper. Additionally, even if considered as an additional element, this step amounts to insignificant extra-solution activity as mere data gathering.);
generating a target Trie tree based on the data dimensions and the target business data, wherein nodes at each level in the target Trie tree correspond to the data dimension at one level, and each node at individual levels is associated with the target business data belonging to the corresponding data dimension, (The steps for “generating a target trie tree“ could be accomplished mentally, such as by human observation, evaluation, judgement, or with the help of pen and paper.);
wherein the generation of the target Trie tree comprises: identifying, for each data dimension of the data dimensions, an attribute field matching the data dimension in the target business data (The steps for “identifying an attribute field“ could be accomplished mentally, such as by human observation, evaluation, judgement, or with the help of pen and paper.);
extracting a field content of the attribute field identified for each data dimension of the data dimensions as attribute data; (The steps for “extracting a field content“ could be accomplished mentally, such as by human observation, evaluation, judgement, or with the help of pen and paper.);
generating a target data sequence from the attribute data according to a level relationship of the data dimensions; (The steps for “generating a target data sequence“ could be accomplished mentally, such as by human observation, evaluation, judgement, or with the help of pen and paper.);
and associating the target business data with an initial Trie tree according to the target data sequence to generate the target Trie tree: (The steps for “associating the target business data“ could be accomplished mentally, such as by human observation, evaluation, judgement, or with the help of pen and paper.);
determining a node contribution degree of each node in the target Trie tree based on the target business data, wherein the node contribution degree is used to indicate an impact of each node on a business indicator of the object to be analyzed; (The steps for “determining a node contribution degree“ could be accomplished mentally, such as by human observation, evaluation, judgement, or with the help of pen and paper.);
performing an anomaly attribution analysis for the object to be analyzed based on the node contribution degree. (The steps for “performing an anomaly attribution analysis“ could be accomplished mentally, such as by human observation, evaluation, judgement, or with the help of pen and paper.).
The additional elements beyond the abstract idea for consideration under Step 2A, Prong 2, and Step 2B recited by the independent claims are: electronic device, processor, memory and non-transitory computer-readable storage medium.
Dependent claims 3-7, 10-14, and 17-20 further narrow the abstract idea and do not introduce additional elements for consideration.
Step 2A, Prong 2: An evaluation is made whether a claim recites any additional element, or combination of additional elements, that integrate the judicial exception into a practical application of the exception. See MPEP 2106.04(d).
Regarding the computing additional elements, namely electronic device, processor, memory and non-transitory computer-readable storage medium, these additional elements have been evaluated but fail to integrate the abstract idea into a practical application because they amount to using generic computing elements or instructions (software) to perform the abstract idea, similar to adding the words “apply it” (or equivalent), which merely serves to link the use of the judicial exception to a particular technological environment (generic computing environment). See MPEP 2106.05(f) and 2106.05(h). In addition, these limitations fail to provide an improvement to the functioning of a computer or to any other technology or technical field, fail to apply the exception with a particular machine, fail to apply the judicial exception to effect a particular treatment or prophylaxis for a disease or medical condition, fail to effect a transformation of a particular article to a different state or thing, and fail to apply/use the abstract idea in a meaningful way beyond generally linking the use of the judicial exception to a particular technological environment (generic computing environment).
Accordingly, because the Step 2A Prong One and Prong Two analysis resulted in the conclusion that the claims are directed to an abstract idea, additional analysis under Step 2B of the eligibility inquiry must be conducted in order to determine whether any claim element or combination of elements amount to significantly more than the judicial exception.
Step 2B: The claims are analyzed to determine whether any additional element, or combination of additional elements, is/are sufficient to ensure that the claims amount to significantly more than the judicial exception. This analysis is also termed a search for "inventive concept." See MPEP 2106.05.
Regarding the computing additional elements, namely electronic device, processor, memory and non-transitory computer-readable storage medium, these additional element(s) has/have been evaluated, but fail to add significantly more to the claims because they amount to using generic computing elements (computer hardware) or instructions/software (engine) to perform the abstract idea, similar to adding the words “apply it” (or an equivalent), which merely serves to link the use of the judicial exception to a particular technological environment (network computing environment, the internet, online) and does not amount to significantly more than the abstract idea itself. Applicant’s specification recites the computing additional elements at a high level of generality. Therefore, the additional elements merely describe generic computing elements or computer-executable instructions (software) merely serve to tie the abstract idea to a particular operating environment, which does not add significantly more to the abstract idea. See, e.g., Alice Corp., 134 S. Ct. 2347, 110 USPQ2d 1976; Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015). Additionally, use of a computer or other machinery in its ordinary capacity for economic or other tasks (e.g., to receive, store, or transmit data) or simply adding a general purpose computer or computer components after the fact to an abstract idea (e.g., a fundamental economic practice or mathematical equation) does not integrate a judicial exception into a practical application or provide significantly more. 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) (computer server and telephone unit). Similarly, "claiming the improved speed or efficiency inherent with applying the abstract idea on a computer" does not integrate a judicial exception into a practical application or provide an inventive concept. Intellectual Ventures I LLC v. Capital One Bank (USA), 792 F.3d 1363, 1367, 115 USPQ2d 1636, 1639 (Fed. Cir. 2015). In contrast, a claim that purports to improve computer capabilities or to improve an existing technology may integrate a judicial exception into a practical application or provide significantly more. McRO, Inc. v. Bandai Namco Games Am. Inc., 837 F.3d 1299, 1314-15, 120 USPQ2d 1091, 1101-02 (Fed. Cir. 2016); Enfish, LLC v. Microsoft Corp., 822 F.3d 1327, 1335-36, 118 USPQ2d 1684, 1688-89 (Fed. Cir. 2016). See MPEP §§ 2106.04(d)(1) and 2106.05(a) for a discussion of improvements to the functioning of a computer or to another technology or technical field.
Furthermore, even if the acquiring target business data steps are interpreted as additional elements, these activities at most amount to insignificant extra-solution activity (mere data gathering and insignificant application, respectively), which does not add significantly more to the abstract idea, as noted in MPEP 2106.05(g). Additionally, the acquiring target business data extra-solution activity has been recognized as well-understood, routine, and conventional, and thus insufficient to add significantly more to the abstract idea. See MPEP 2106.05(d) - Receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information); TLI Communications LLC v. AV Auto. LLC, 823 F.3d 607, 610, 118 USPQ2d 1744, 1745 (Fed. Cir. 2016) (using a telephone for image transmission); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network); buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2014) (computer receives and sends information over a network)).
In addition, when taken as an ordered combination, the ordered combination adds nothing that is not already present as when the elements are taken individually. Their collective functions merely provide generic computer implementation. Therefore, when viewed as a whole, these additional claim elements do not provide meaningful limitations to amount to significantly more than the abstract idea itself. The ordered combination of elements in the claims (including the limitations inherited from the parent claim(s)) add nothing that is not already present as when the elements are taken individually. There is no indication that the combination of elements improves the functioning of a computer or improves any other technology. Their collective functions merely provide generic computer implementation. Accordingly, the subject matter encompassed by the dependent claims fails to amount to significantly more than the abstract idea itself.
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.
Claims 1, 3-8, 10-15 and 17-20 are rejected under 35 U.S.C. 103 as being unpatentable over Theirl et al. (WO 2017063092 A1, hereinafter “Theirl”), in view of Luo et al. (WO 2014176754 A1, hereinafter “Luo”), in further view of Chavva (US 9852257 B1, hereinafter “Chavva”), in further view of Guha et al. (US 10902062 B1, hereinafter “Guha”).
Regarding claims 1/8/15: Theirl teaches a method ([0014] method for generating and analyzing a tree-graph representation of a plurality of digital data items), an electronic device ([0012] computing device for receiving), and a non-transitory computer-readable storage medium ([0037] computer readable media such as storage media, computer storage media, or data storage devices) for processing data to conduct an attribution analysis with the following limitations:
acquiring target business data of an object to be analyzed, ([0046] The data analysis server comprises or is linked to an import module which accesses and collects bulk amounts of digital data items from the disparate digital data sources.; [0047] the import module implement marketing campaign execution tools for ingesting digital data items relating to marketing campaigns, enabling for example, retrieval of digital data items relating to Bronto™ email, ExactTarget™, Google Adwords™, Facebook™ marketing, Twitter™ campaigns, retargeting, Baudi™, Sohu™, and other sources of digital data.);
and acquiring a plurality of levels of data dimensions of the target business data, ([0070] Referring now to Fig. 5, shown therein is an example tree-graph representation of revenue analysis in the e-commerce context. The example tree-graph shows a sequential analysis of child nodes of revenue 502 comprising conversion rate 504, number of orders 506, a particular brand 508 and then a particular product 510, each of which are determined to be most impactful on change at a given level of the illustrated tree-graph structure.);
wherein the data dimensions are associated with data types of the target business data; ([Fig. 5] teaches an example tree-graph representation of revenue analysis in the e-commerce context.);
and each node at individual levels is associated with the target business data belonging to the corresponding data dimension, ([Fig. 5] Seed Node (Gross Revenue % Changed 502), Level 2 (Channel), Level 3 (Category), Level 4 (Brand), Level 5 (Product));
based on the node contribution degree. ([0059] The insight module further assigns weighting to the nodes according to the level of impact of each event represented by the node on the selected KPI.).
Theirl doesn’t explicitly teach:
generating a target Trie tree based on the data dimensions and the target business data,
wherein nodes at each level in the target Trie tree correspond to the data dimension at one level,
wherein the generation of the target Trie tree comprises: identifying, for each data dimension of the data dimensions, an attribute field matching the data dimension in the target business data
extracting a field content of the attribute field identified for each data dimension of the data dimensions as attribute data; generating a target data sequence from the attribute data according to a level relationship of the data dimensions; and associating the target business data with an initial Trie tree according to the target data sequence to generate the target Trie tree;
determining a node contribution degree of each node in the target Trie tree based on the target business data,
wherein the node contribution degree is used to indicate an impact of each node on a business indicator of the object to be analyzed;
performing an anomaly attribution analysis for the object to be analyzed
Luo teaches:
generating a target Trie tree based on the data dimensions and the target business data, ([0034] Based on the obtained strings, the data structure module 1 14 generates a prefix tree for distributing the strings into nodes that represent prefixes of the strings.; [0043] The prefix tree is a Trie data structure that distributes the strings into leaf nodes and branch nodes.; [0013] The string data include multiple sequences of characters in the form of strings.; [0044] Figure 3 illustrates a prefix tree 300 for representing string data, according to an example of the present subject matter. The prefix tree 300 is for the string data having the following strings: "address", "host", "hostname", "source", "sourcecode", and "sourcename". As shown, Rno is a root node of the prefix tree 300 from which nodes for the distinct strings branch out. Bni to Bn6 are the branch nodes and Lni to Ln6 are the leaf nodes. Examiner notes that one of ordinary skill in the art would reasonably interpret the data disclosed by Luo as equivalent to business data related to the internet/general computing technological environments.);
wherein the generation of the target Trie tree comprises: identifying, for each data dimension of the data dimensions, an attribute field matching the data dimension in the target business data ([0093] Table 2: Node Representation, Prefix P.sub.d. Examiner notes that one of ordinary skill in the art would interpret the values disclosed in the column titled Prefix p.sub.d of Luo’s Table 2, as equivalent to the attribute field matching the data dimension, which is disclosed in the column titled “Node Representation” of the same table.);
extracting a field content of the attribute field identified for each data dimension of the data dimensions as attribute data; generating a target data sequence from the attribute data according to a level relationship of the data dimensions; and associating the target business data with an initial Trie tree according to the target data sequence to generate the target Trie tree; ([0092-0093] Table 1, Table 2; [0019] A prefix tree is a Trie data structure having nodes that represent prefixes of the strings. A prefix of a string is a sequence of characters which is either the same as that of the string or which is a substring of the string. The nodes in the prefix tree represent longest prefixes and longest common prefixes of the strings. A longest prefix refers to a sequence of characters which is equal to a string. A longest common prefix refers to a sequence of characters which is a common substring of one or more strings. For example, for two strings "host" and "hostname", the prefix tree will have a node representing the longest prefix as "host" for the string "host", a node representing the longest prefix as "hostname" for the string "hostnames", and a node representing the longest common prefix as "host" for the both strings.; [0043] The prefix tree is a Trie data structure that distributes the strings into leaf nodes and branch nodes. A leaf node is a terminal node representing the longest prefix of one of the strings. A branch node represents a longest common prefix of one or more prefixes represented by child-nodes branching out from that branch node.; [0127] the data structure module 114 can generate a prefix tree for distributing the strings into nodes that represent prefixes of the strings.);
determining a node contribution degree of each node in the target Trie tree based on the target business data, ([0020] Based on the prefix tree, deploy weights are assigned to the nodes in the prefix tree (which is based on the data strings).;
wherein the node contribution degree is used to indicate an impact of each node on a business indicator of the object to be analyzed; ([0020] The values of deploy weights convey the levels of relevancy of the prefixes at the respective nodes.).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine Theirl with Lou’s feature(s) listed above. One would’ve been motivated to do so in order to generate a histogram of the top- prefixes (Luo; [0036]). By incorporating the teachings of Luo, one would’ve been able to build a weighted trie tree based on the business data.
Luo doesn’t explicitly teach:
wherein nodes at each level in the target Trie tree correspond to the data dimension at one level,
performing an anomaly attribution analysis for the object to be analyzed
Chavva teaches:
wherein nodes at each level in the target Trie tree correspond to the data dimension at one level, ([Column 5, Lines 26-32] the tree 300 has various nodes placed at various hierarchical levels. A parent node of the tree 300 can have one or more children node. The parent node is assumed to be at a higher level compared to a child node. Some of the nodes of the tree 300 do not have a corresponding child node. The tree 300 is generated from a list of the pins that correspond to a specific partition of the chip 100.; [Column 5, Lines 35-40] The tree 300 of FIG. 3 is based on the pin groups illustrated in FIG. 2. The top level or the highest level of the tree 300 has a node mstr, which has three child nodes—mstr5, mstr6 and mstr7. For example, as illustrated in FIG. 2, the mstr5_*, mstr6_* and mstr7_* are three pin groups, and the tree 300 is based on these three pin groups.; Fig. 2, Column 1 (Pin names), Column 2 (Bus groups), Column 3 (Pin groups). (Examiner notes that each of the columns in Fig. 2 represents a different level in the data, as demonstrated by the relationship between the top level, children nodes, grandchildren nodes, great grandchildren nodes, and great-great grandchildren nodes in Fig. 3 of Chavva.);
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Theirl with Chavva’s feature(s) listed above. One would’ve been motivated to do so in order to categorize or arrange the data in a form of a tree structure (Chavva; [Column 5, Lines 19-25]). By incorporating the teachings of Chavva, one would’ve been able to build a trie tree where nodes at each level correspond to the data dimension at one level.
Chavva doesn’t explicitly teach:
performing an anomaly attribution analysis for the object to be analyzed
Guha teaches:
performing an anomaly attribution analysis for the object to be analyzed ([Column 2, Lines 49-52] Various embodiments of methods and apparatus for generating and providing dimension-level anomaly score attributions for at least some data points of a streaming data set are described.; [Column 3, Lines 13-20] The terms “outlier” and “anomaly” may be used synonymously herein to refer to such points. A measure of the extent to which a given data point is unusual or anomalous relative to the stream as a whole (or relative to selected representative samples of the stream's data points) called an “anomaly score” may be computed or estimated in various embodiments using an anomaly detection algorithm.; [Column 3, Lines 25-28] In some cases, an explicit attribution query indicating one or more targeted data points and/or dimensions for which explanations or contributions are desired may be submitted.
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Theirl with Guha’s feature(s) listed above. One would’ve been motivated to do so in order to provide dimension-level attribution information for some or all of the stream data points by default (Guha; [Column 3, Lines 19-25]). By incorporating the teachings of Guha, one would’ve been able to perform an anomaly attribution analysis on the data.
Regarding claims 3/10/17: Theirl further teaches:
wherein the associating the target business data… ([0046] The data analysis server comprises or is linked to an import module which accesses and collects bulk amounts of digital data items from the disparate digital data sources.; [0047] the import module implement marketing campaign execution tools for ingesting digital data items relating to marketing campaigns, enabling for example, retrieval of digital data items relating to Bronto™ email, ExactTarget™, Google Adwords™, Facebook™ marketing, Twitter™ campaigns, retargeting, Baudi™, Sohu™, and other sources of digital data.; Figure 5: dimension 1/seed node (Revenue 502) > dimension 2 (Channel) > dimension 3 (Category) > dimension 4 (Brand) > dimension 5 (Product).);
…wherein the target path comprises a first node matching each piece of attribute data in the target data sequence ([Fig. 5] dimension 1/seed node (Revenue 502) > dimension 2 (Channel: Conversion Rate 504) > dimension 3 (Category: Number of Orders 506) > dimension 4 (Brand: Brand 508) > dimension 5 (Product: Product 510).; [0073] analysis of revenue in the ecommerce context can start by looking at the gross revenue for the overall business as a seed node.);
associating corresponding target business data with a corresponding first node of the target path based on individual attribute data, … ([0073] In turn, revenue may be broken down into three key components: conversion rate ("CR"), traffic and average order value ("AOV"). The revenue may be segmented further by revenue channels, and the top contributing channels for revenue may be returned as child nodes to be further analyzed.; Fig. 5: dimension 1/seed node (Revenue 502) > dimension 2 (Channel: Conversion Rate 504) > dimension 3 (Category: Number of Orders 506) > dimension 4 (Brand: Brand 508) > dimension 5 (Product: Product 510).).
However, Theirl doesn’t explicitly teach:
…with the initial Trie tree according to the target data sequence to generate the target Trie tree comprises: determining, in the initial Trie tree, a target path matching the target data sequence
…to generate the target Trie tree
Luo further teaches:
...with the initial Trie tree according to the target data sequence to generate the target Trie tree ([0034] generates a prefix tree based on the obtained strings/data) comprises: determining, in the initial Trie tree, a target path matching the target data sequence: [0072] performs a breadth first search to traverse the prefix tree and determine a reverse traverse order for the nodes. Examiner notes that one of ordinary skill in the art would reasonably interpret reverse traverse order as a path taken to traverse across a series of nodes in the trie tree.);
… to generate the target Trie tree: [0034] Based on the obtained strings, the data structure module 1 14 generates a prefix tree for distributing the strings into nodes that represent prefixes of the strings.; [0043] The prefix tree is a Trie data structure that distributes the strings into leaf nodes and branch nodes.; [0013] The string data include multiple sequences of characters in the form of strings.).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Theirl with Lou’s additional feature(s) listed above. One would’ve been motivated to do so in order to generate a prefix tree for the static strings, assigning deploy weights to nodes, and determining a predefined number of Top-prefixes to fill in the predefined number of buckets for generation of a histogram in an offline environment through an illustrative example (Luo; [0092]). By incorporating the teachings of Luo, one would’ve been able to generate a trie tree based on data acquired and determine a path in the trie tree based on the data sequence as stored in the trie tree.
Regarding claims 4/11/18: Theirl doesn’t explicitly teach:
determining an indicator value of an indicator to be analyzed for the object to be analyzed based on the target business data, to obtain a first indicator value
determining an indicator value of the indicator to be analyzed for the object to be analyzed based on the target business data associated with each node, to obtain a second indicator value
determining the node contribution degree of the node based on the first indicator value and the second indicator value
Chavva further teaches:
determining an indicator value of an indicator to be analyzed for the object to be analyzed based on the target business data, to obtain a first indicator value ([Column 6, Lines 42-54] teaches assigning node weights based on the dimensions of the data, where the first indicator is: number of children nodes, excluding leaf nodes.);
determining an indicator value of the indicator to be analyzed for the object to be analyzed based on the target business data associated with each node, to obtain a second indicator value ([Column 6, Lines 42-54] teaches assigning node weights based on the dimensions of the data, where the second indicator is: number of similar sub-trees.);
determining the node contribution degree of the node based on the first indicator value and the second indicator value ([Column 6, Lines 42-54] teaches assigning node weights based on the dimensions of the data, where the total weight is based on formula 1: (number of children in the tree, excluding leaf nodes) x (number of similar sub-trees).).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Theirl with Chavva’s additional feature(s) listed above. One would’ve been motivated to do so in order to assign corresponding node weights (Chavva; [Column 6, Lines 42-54]). By incorporating the teachings of Chavva, one would’ve been able to calculate contribution degrees of nodes based on indicator values of different indicators for the node.
Regarding claims 5/12/19: Theirl doesn’t explicitly teach:
determining a first node path among a plurality of node paths of the target Trie tree based on the node contribution degree, wherein a plurality of consecutive nodes are included in the first node path, and the node contribution degree of each node of the consecutive nodes is greater than or equal to a contribution degree threshold;
performing the anomaly attribution analysis for the object to be analyzed based on the first node path.
Guha further teaches:
determining a first node path among a plurality of node paths… ([Column 4, Lines 41-45] anomaly score of a given data point with respect to a given random cut tree may be based at least in part on one or more properties or functions of a path (e.g., the length of the path) traversed from the root node of the tree.);
…based on the node contribution degree ([Column 4, Lines 35-40] anomaly score with respect to that tree may be determined based on various characteristics of the potential location (e.g., the depth or distance of the potential location with respect to the root node of the tree, the number of other nodes in the vicinity, and/or the distance of the potential location from other tree nodes as discussed below). Examiner notes that one of ordinary skill in the art would reasonably interpret the various characteristics from the nodes in Guha as being equivalent to indicators of a contribution degree for the node.);
wherein a plurality of consecutive nodes are included in the first node path ([Fig. 3] Causal Structure 122; [Column 4, Lines 44-45] traversed from the root node of the tree to the potential insertion location of the tree.);
and the node contribution degree of each node of the consecutive nodes is greater than or equal to a contribution degree threshold ([Column 4, Lines 51-59] an anomaly score may be assigned to a given data point based on the determination that that point's insertion depth is greater than some threshold. Examiner notes that one ordinary skill in the art would reasonably interpret insertion depth as an indicator of a node’s contribution degree.);
performing the anomaly attribution analysis for the object to be analyzed based on the first node path ([Column 4, Lines 41-45] anomaly score of a given data point with respect to a given random cut tree may be based at least in part on one or more properties or functions of a path (e.g., the length of the path) traversed from the root node.).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Theirl with Guha’s additional feature(s) listed above. One would’ve been motivated to do so in order to the aggregate individual scores with respect to various trees of the forest (Guha; [Column 4, Lines 50-51]). By incorporating the teachings of Guha, one would’ve been able to analyze contribution degrees to determine a node path.
Guha don’t teach: …of the target trie tree.
Luo further teaches:
…of the target Trie tree ([0034] Based on the obtained strings, the data structure module 1 14 generates a prefix tree for distributing the strings into nodes that represent prefixes of the strings.; [0043] The prefix tree is a Trie data structure that distributes the strings into leaf nodes and branch nodes.; [0013] The string data include multiple sequences of characters in the form of strings.).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Theirl with Luo’s additional feature(s) listed above. One would’ve been motivated to do so in order to generate a prefix tree for the static strings, assigning deploy weights to nodes, and determining a predefined number of Top-prefixes to fill in the predefined number of buckets for generation of a histogram in an offline environment through an illustrative example (Luo; [0092]). By incorporating the teachings of Luo, one would’ve been able to build a trie tree.
Regarding claims 6/13/20: Theirl further teaches:
…until a second node with the node contribution degree less than the contribution degree threshold is traversed ([0056] At block 206, the insight module then recursively performs analysis on the child, grand- child and further child nodes of the seed node until no further child nodes, or significant child nodes, result from the analysis.; [0059] The insight module continues to deconstruct events within the tree structure by analyzing subsets of each node until a node is identified which represents a "within threshold" event, meaning that the event is statistically insignificant. Examiner notes that one of ordinary skill in the art would reasonably interpret within threshold to be equivalent to less than as disclosed in Applicant’s claim.);
Theirl doesn’t explicitly teach:
wherein the determining the first node path among the plurality of node paths of the target Trie tree based on the node contribution degree comprises: starting from a root node of the target Trie tree, traversing the node contribution degree of each node in individual node paths of the target Trie tree…
determining the first node path based on the nodes preceding the second node in the traversed node path.
Chavva further teaches:
wherein the determining the first node path among the plurality of node paths of… based on the node contribution degree ([Column 7, Lines 46-47] The nodes having the highest node weights are selected.) comprises: starting from a root node… ([Column 11, Line 64 – Column 12, Line 27] describes the process of building traversing paths that represent different strings starting at the root node (e.g., the top most node)), traversing the node contribution degree of each node in individual node paths… ([Column 11, Line 64 – Column 12, Line 27] teaches the process of building traversing paths that represent different strings as pin groups based on the nodes in a path. For example, in Fig. 9A: mstr5_rresp is the leaf node (last node in the path), for the path starting in node m, and ending in node mstr5_rresp.)
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Theirl with Chavva’s additional feature(s) listed above. One would’ve been motivated to do so in order to represent an abstraction pin group (Chavva; [Column 12, Line 22]). By incorporating the teachings of Chavva, one would’ve been able to determine a path based on the contribution degrees while starting at the root node.
Chavva don’t explicitly teach (Examiner notes that although Chavva teaches prefix/trie trees, to keep consistency with the other 103 claim rejections, Examiner is introducing Luo as a reference for the target trie tree limitations (3 in total for claims 6, 13, and 20).):
…the target trie tree
determining the first node path based on the nodes preceding the second node in the traversed node path
Luo further teaches:
…the target Trie tree ([0034] Based on the obtained strings, the data structure module 1 14 generates a prefix tree for distributing the strings into nodes that represent prefixes of the strings.; [0043] The prefix tree is a Trie data structure that distributes the strings into leaf nodes and branch nodes.; [0013] The string data include multiple sequences of characters in the form of strings.).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Theirl with Luo’s additional feature(s) listed above. One would’ve been motivated to do so in order to generate a prefix tree for the static strings, assigning deploy weights to nodes, and determining a predefined number of Top-prefixes to fill in the predefined number of buckets for generation of a histogram in an offline environment through an illustrative example (Luo; [0092]). By incorporating the teachings of Luo, one would’ve been able to build a trie tree.
Luo doesn’t teach: determining the first node path based on the nodes preceding the second node in the traversed node path
Guha further teaches:
determining the first node path based on the nodes preceding the second node in the traversed node path ([Column 22, Lines 24-25] FIG. 9 and FIG. 10, the path taken to leaf node 703Q is traversed backwards towards the root.).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Theirl with Guha’s additional feature(s) listed above. One would’ve been motivated to do so in order to estimate the anomaly score contributions at the non-leaf node (Guha; [Column 22, Lines 29-30]). By incorporating the teachings of Guha, one would’ve been able to determine the first node based on subsequent nodes.
Regarding claims 7/14: Theirl doesn’t explicitly teach:
wherein the performing the anomaly attribution analysis for the object to be analyzed based on the node contribution degree comprises: in a case where there are a plurality of first node paths, performing the anomaly attribution analysis for the object to be analyzed based on the node contribution degrees of individual nodes in each of the first node paths, to obtain attribution analysis results corresponding to individual first node paths.
Guha further teaches:
wherein the performing the anomaly attribution analysis for the object to be analyzed based on the node contribution degree comprises: in a case where there are a plurality of first node paths, performing the anomaly attribution analysis for the object to be analyzed based on the node contribution degrees of individual nodes in each of the first node paths, to obtain attribution analysis results corresponding to individual first node paths ([Column 4, Lines 41-51] the anomaly score of a given data point with respect to a given random cut tree may be based at least in part on one or more properties or functions of a path (e.g., the length of the path) traversed from the root node of the tree to the potential insertion location of the tree. The edges of the traversed path may be selected using the values of the dimensions/attributes of the data point and the original split values and split dimensions which were selected at each level of the tree. The overall anomaly score for a given point may be obtained by aggregating the individual scores with respect to various trees of the forest.).
It would have been obvious to one of ordinary skill in the art, at the time of applicant’s invention, to combine modified Theirl with Guha’s additional feature(s) listed above. One would’ve been motivated to do so in order to generate an anomaly score for a given data point without modifying at least some trees (Guha; [Column 4, Lines30-31]). By incorporating the teachings of Guha, one would’ve been able to perform attribution analysis in cases where multiple path options exist.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to GABRIEL J TORRES CHANZA whose telephone number is (571)272-3701. The examiner can normally be reached Monday thru Friday 8am - 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, Brian Epstein can be reached on (571)270-5389. 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.
/G.J.T./Examiner, Art Unit 3625
/TIMOTHY PADOT/Primary Examiner, Art Unit 3625