DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
2. This action is in response to the following communication: Non-provisional Application No. 18/642956 filed on 04/23/2024.
3. Claims 1-20 are pending.
Claims 1, 9 and 17 are independent claims.
Specification
4. The disclosure is objected to because of the following informalities: The disclosure consists of abbreviations which are not written out the first time they are used (e.g. LAN, WAN, DVD, USB, ROM, EPROM, PROM). Abbreviations must be written out the first time they are used in the disclosure, again in the abstract, and again in the claims, as the intent of their meaning is likely to be changed over time.
Appropriate correction is required. The specification should be revised carefully in order to comply with 35 U.S.C. 112(a). 35 U.S.C. 132(a) states that no amendment shall introduce new matter into the disclosure of the invention. Any amendment to the disclosure must be supported by the disclosure as originally filed.
Claim Rejections - 35 USC § 101
5. 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.
6. Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention recites a judicial exception, is directed to that judicial exception, an abstract idea, as it has not been integrated into practical application and the claims further do not recite significantly more than the judicial exception. Examiner has evaluated the claims under the framework provided in the 2019 Patent Eligibility Guidance published in the Federal Register 01/07/2019 and has provided such analysis below.
Regarding claims 1, 9 and 17: the limitations “predict a particular computing system, of a plurality of computing systems on which the particular software component is installed” and “providing a recommendation to apply the software patch” as drafted, are functions that, under its broadest reasonable interpretation, recite the abstract idea of a mental process. These limitations encompass a human mind carrying out these functions through observation, evaluation judgment and/or opinion, or even with the aid of pen and paper. Thus, this limitation recites and falls within the “Mental Processes” grouping of abstract ideas under Prong 1.
Claims 1, 9 and 17: Under Prong 2 Step 2A, the judicial exception is not integrated into a practical application. The additional elements “a computer-implemented method”, “a system”, “a memory”, “one processor” and “a non-transitory computer-readable device” merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea, thus is not a practical application under Prong 2. The additional element “providing, as an input to a machine learning model” and “receiving, from the machine learning model, a prediction” do nothing more than add insignificant extra solution activity to the judicial exception of merely gathering data. Accordingly, the additional elements do not integrate the recited judicial exception into a practical application and the claim is therefore directed to the judicial exception. See MPEP 2106.05(f) and (g), respectively.
Claims 1, 9 and 17: Under Step 2B, the claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As stated above in prong 2, the additional elements “a computer-implemented method,”, “a system”, “a memory”, “one processor” and “a non-transitory computer-readable device” merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea, and the additional element “providing, as an input to a machine learning model” and “receiving, from the machine learning model, a prediction”” is merely gathering data which the courts have identified as well-understood, routine conventional activity. See for example Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362, MPEP 2106.05(d). Therefore, the additional elements do not amount to significantly more, thus, cannot provide an inventive concept. Accordingly, the claims are not patent eligible under 35 USC 101.
Claims 1, 9 and 17: recite further additional elements “a computer-implemented method”, “a system”, “a memory”, “one processor” and “a non-transitory computer-readable device”. These additional elements are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using generic computer, and/or generic computer components. See MPEP 2106.05(f). Therefore, the additional elements recited in claims 1, 9 and 17: do not integrate the judicial exception into a practical application under prong 2, nor amount to significantly more under step 2B.
Regarding claims 4-8, 12-16 and 20 the limitations recited in these claims merely describe the data being classified in each of claims 1, 9 and 17, thus, are likewise analyzed under Prong 1 as mental process.
Regarding claims 2, 3, 10, 11 and 18, the limitation “generating a respective set of feature representations”, “grouping each of the respective sets of feature”, “labeling the notification”, “determining an N most frequently used software components”, “pre-processing text”, “tokenization of the text”, “stop word removal”, “stemming the text”, “lemmatization of the text”, “unwanted character removal”, “grouping is implemented”, “labeling is implemented” and “machine learning algorithm is a supervised” recites additional mental process under Prong 1. The additional element “obtaining a plurality of notifications”, “providing the plurality of labeled notifications”, “generating the machine learning model” and “obtaining the plurality of notifications” is analyzed under Prong 2 as mere data gathering which does not integrate the judicial exception into a practical application, or amounts to significantly more under Step 2B for the reasons provided in the rejection of claims 1, 9 and 17.
Claim Rejections - 35 USC § 112
7. 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.
8. Claims 1-20 are rejected under 35 U.S.C. 112 (b) as being indefinite for failing to particularly point out and distinctly claim the subject matter which applicant regards as the invention.
Claims 1, 9 and 17 recites the limitation "predict a particular computing system" then recites “prediction… one computing system“ in the claims. Is such a “particular computing system” the same as such “one computing system”? Clarification is needed. There is insufficient antecedent basis for this limitation in the claim if such “particular computing system” is the same as such “one computing system”.
Claims 2-8, 10-16 and 18-20 are also rejected for being dependent on rejected base claims.
Claim Rejections - 35 USC § 102
9. The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale or otherwise available to the public before the effective filing date of the claimed invention.
10. Claims 1, 2, 9, 10, 17 and 18 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Singh et al., US 2021/0157562 (hereinafter Singh).
In regards to claim 1, Singh teaches:
A computer-implemented method, comprising; providing, as an input to a machine learning model, a representation of a notification indicating that a software patch configured to update a particular software component is available for installation (p. 2, [0028]), see “in the FIG. 1 embodiment, the software update compatibility assessment system 102 comprises a software update detection module 112, a software update compatibility prediction module 114 and a software update recommendation module 116” and (Abstract), “a method includes identifying at least one software update available for a given computing device, determining a state of the given computing device, and utilizing a machine-learning based predictive model to assess compatibility of the at least one software update with the given computing device”. Such identifying at least one software update available and utilizing a machine-learning based predictive model to assess compatibility of the at least one software update with the given computing device is very much the same as input to a machine learning model sin it’s inherent that such software update must be input into the machine-learning based predictive model for such compatibility assessment to occur.
the machine learning model is configured to predict a particular computing system, of a plurality of computing systems on which the particular software component is installed, that is to receive the software patch (Abstract), “the machine learning-based predictive model being trained utilizing historical incident data for a plurality of incidents associated with application of software updates to a plurality of computing devices”, and (p. 1, [0008]), “FIGS. 3A and 3B show a system flow for building and using a predictive model to assess software updates and generate recommendations for whether to install the software updates in an illustrative embodiment”. Such generated recommendations using machine learning-based predictive model is very much the same as predicting which component is to receive the software patch.
receiving, from the machine learning model, a prediction indicating that at least one computing system of the plurality of computing systems is to receive the software patch; and providing a recommendation to apply the software patch on the at least one computing system (p. 1, [0017]), “the software update compatibility assessment system 102 is configured to generate recommendations as to whether particular software updates should or should not be installed on particular ones of the computing devices 104 based at least in part on assessing the compatibility of those software updates with the computing devices 104”, (p. 1, [0008]), “FIGS. 3A and 3B show a system flow for building and using a predictive model to assess software updates and generate recommendations for whether to install the software updates in an illustrative embodiment” and (p. 1, [0013]), see “FIG. 8 is a flow diagram of a process on a computing device for determining whether to install software updates in an illustrative embodiment”. Such generated recommendations using machine learning-based predictive model is very much the same as predicting which component is to receive the software patch.
In regards to claim 2, Singh teaches:
the machine learning model is generated by: obtaining a plurality of notifications each indicating that a respective software patch configured to update a respective software component is available for installation (Abstract), see “the machine learning-based predictive model being trained utilizing historical incident data for a plurality of incidents associated with application of software updates to a plurality of computing devices”.
for each of the plurality of notifications, generating a respective set of feature representations representative of the respective notification of the plurality of notifications; grouping each of the respective sets of feature representations generated for the plurality of notifications into a respective cluster of a plurality of clusters (p. 10, claim 8), see “the multi-variate logistic regression classifier is configured to assign a classification to an incident comprising application of a software update to an associated computing device based at least in part on a set of two or more features representing the state of the associated computing device”.
for each notification of the plurality of notifications, labeling the notification with a cluster identifier that indicates a respective cluster of the plurality of clusters in which the notification is grouped to generate a labeled notification (p. 1, [0012]), see “FIG. 7 shows a plot illustrating multi-label classification of incidents using two features and three categories according to an embodiment of the invention” and (p. 7, [0061]), see “FIG. 4 also shows a table 403 for labeling the incidents shown in table 401. The table 403 may be populated by running the feature data for each of the incident IDs through the classifier 317 of the machine learning system 311”.
providing the plurality of labeled notifications to a machine learning algorithm, the machine learning algorithm generating the machine learning model based on the plurality of labeled notifications (p. 7, [0061]), see “FIG. 4 also shows a table 403 for labeling the incidents shown in table 401. The table 403 may be populated by running the feature data for each of the incident IDs through the classifier 317 of the machine learning system 311”.
In regards to claim 9, Singh teaches:
A system, comprising: a memory; and at least one processor coupled to the memory and configured to: provide, as an input to a machine learning model, a representation of a notification indicating that a software patch configured to update a particular software component is available for installation (p. 2, [0028]), see “in the FIG. 1 embodiment, the software update compatibility assessment system 102 comprises a software update detection module 112, a software update compatibility prediction module 114 and a software update recommendation module 116” and (Abstract), “a method includes identifying at least one software update available for a given computing device, determining a state of the given computing device, and utilizing a machine-learning based predictive model to assess compatibility of the at least one software update with the given computing device”. Such identifying at least one software update available and utilizing a machine-learning based predictive model to assess compatibility of the at least one software update with the given computing device is very much the same as input to a machine learning model sin it’s inherent that such software update must be input into the machine-learning based predictive model for such compatibility assessment to occur.
the machine learning model is configured to predict a particular computing system, of a plurality of computing systems on which the particular software component is installed, that is to receive the software patch (Abstract), “the machine learning-based predictive model being trained utilizing historical incident data for a plurality of incidents associated with application of software updates to a plurality of computing devices”, and (p. 1, [0008]), “FIGS. 3A and 3B show a system flow for building and using a predictive model to assess software updates and generate recommendations for whether to install the software updates in an illustrative embodiment”. Such generated recommendations using machine learning-based predictive model is very much the same as predicting which component is to receive the software patch.
receive, from the machine learning model, a prediction indicating that at least one computing system of the plurality of computing systems is to receive the software patch; and provide a recommendation to apply the software patch on the at least one computing system (p. 1, [0017]), “the software update compatibility assessment system 102 is configured to generate recommendations as to whether particular software updates should or should not be installed on particular ones of the computing devices 104 based at least in part on assessing the compatibility of those software updates with the computing devices 104”, (p. 1, [0008]), “FIGS. 3A and 3B show a system flow for building and using a predictive model to assess software updates and generate recommendations for whether to install the software updates in an illustrative embodiment” and (p. 1, [0013]), see “FIG. 8 is a flow diagram of a process on a computing device for determining whether to install software updates in an illustrative embodiment”. Such generated recommendations using machine learning-based predictive model is very much the same as predicting which component is to receive the software patch.
In regards to claim 10, Singh teaches:
to generate the machine learning model, the at least one processor is configured to: obtain a plurality of notifications each indicating that a respective software patch configured to update a respective software component is available for installation (Abstract), see “the machine learning-based predictive model being trained utilizing historical incident data for a plurality of incidents associated with application of software updates to a plurality of computing devices”.
for each of the plurality of notifications, generate a respective set of feature representations representative of the respective notification of the plurality of notifications; group each of the respective sets of feature representations generated for the plurality of notifications into a respective cluster of a plurality of clusters (p. 10, claim 8), see “the multi-variate logistic regression classifier is configured to assign a classification to an incident comprising application of a software update to an associated computing device based at least in part on a set of two or more features representing the state of the associated computing device”.
for each notification of the plurality of notifications, label the notification with a cluster identifier that indicates a respective cluster of the plurality of clusters in which the notification is grouped to generate a labeled notification (p. 1, [0012]), see “FIG. 7 shows a plot illustrating multi-label classification of incidents using two features and three categories according to an embodiment of the invention” and (p. 7, [0061]), see “FIG. 4 also shows a table 403 for labeling the incidents shown in table 401. The table 403 may be populated by running the feature data for each of the incident IDs through the classifier 317 of the machine learning system 311”.
provide the plurality of labeled notifications to a machine learning algorithm, the machine learning algorithm generating the machine learning model based on the plurality of labeled notifications (p. 7, [0061]), see “FIG. 4 also shows a table 403 for labeling the incidents shown in table 401. The table 403 may be populated by running the feature data for each of the incident IDs through the classifier 317 of the machine learning system 311”.
In regards to claim 17, Singh teaches:
A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising: providing, as an input to a machine learning model, a representation of a notification indicating that a software patch configured to update a particular software component is available for installation (p. 2, [0028]), see “in the FIG. 1 embodiment, the software update compatibility assessment system 102 comprises a software update detection module 112, a software update compatibility prediction module 114 and a software update recommendation module 116” and (Abstract), “a method includes identifying at least one software update available for a given computing device, determining a state of the given computing device, and utilizing a machine-learning based predictive model to assess compatibility of the at least one software update with the given computing device”. Such identifying at least one software update available and utilizing a machine-learning based predictive model to assess compatibility of the at least one software update with the given computing device is very much the same as input to a machine learning model sin it’s inherent that such software update must be input into the machine-learning based predictive model for such compatibility assessment to occur.
the machine learning model is configured to predict a particular computing system, of a plurality of computing systems on which the particular software component is installed, that is to receive the software patch (Abstract), “the machine learning-based predictive model being trained utilizing historical incident data for a plurality of incidents associated with application of software updates to a plurality of computing devices”, and (p. 1, [0008]), “FIGS. 3A and 3B show a system flow for building and using a predictive model to assess software updates and generate recommendations for whether to install the software updates in an illustrative embodiment”. Such generated recommendations using machine learning-based predictive model is very much the same as predicting which component is to receive the software patch.
receiving, from the machine learning model, a prediction indicating that at least one computing system of the plurality of computing systems is to receive the software patch; and providing a recommendation to apply the software patch on the at least one computing system (p. 1, [0017]), “the software update compatibility assessment system 102 is configured to generate recommendations as to whether particular software updates should or should not be installed on particular ones of the computing devices 104 based at least in part on assessing the compatibility of those software updates with the computing devices 104”, (p. 1, [0008]), “FIGS. 3A and 3B show a system flow for building and using a predictive model to assess software updates and generate recommendations for whether to install the software updates in an illustrative embodiment” and (p. 1, [0013]), see “FIG. 8 is a flow diagram of a process on a computing device for determining whether to install software updates in an illustrative embodiment”. Such generated recommendations using machine learning-based predictive model is very much the same as predicting which component is to receive the software patch.
In regards to claim 18, Singh teaches:
the machine learning model is generated by: obtaining a plurality of notifications each indicating that a respective software patch configured to update a respective software component is available for installation (Abstract), see “the machine learning-based predictive model being trained utilizing historical incident data for a plurality of incidents associated with application of software updates to a plurality of computing devices”.
for each of the plurality of notifications, generating a respective set of feature representations representative of the respective notification of the plurality of notifications; grouping each of the respective sets of feature representations generated for the plurality of notifications into a respective cluster of a plurality of clusters (p. 10, claim 8), see “the multi-variate logistic regression classifier is configured to assign a classification to an incident comprising application of a software update to an associated computing device based at least in part on a set of two or more features representing the state of the associated computing device”.
for each notification of the plurality of notifications, labeling the notification with a cluster identifier that indicates a respective cluster of the plurality of clusters in which the notification is grouped to generate a labeled notification (p. 1, [0012]), see “FIG. 7 shows a plot illustrating multi-label classification of incidents using two features and three categories according to an embodiment of the invention” and (p. 7, [0061]), see “FIG. 4 also shows a table 403 for labeling the incidents shown in table 401. The table 403 may be populated by running the feature data for each of the incident IDs through the classifier 317 of the machine learning system 311”.
providing the plurality of labeled notifications to a machine learning algorithm, the machine learning algorithm generating the machine learning model based on the plurality of labeled notifications (p. 7, [0061]), see “FIG. 4 also shows a table 403 for labeling the incidents shown in table 401. The table 403 may be populated by running the feature data for each of the incident IDs through the classifier 317 of the machine learning system 311”.
Claim Rejections - 35 USC § 103
11. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
12. Claims 3, 11 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Singh in view of Chakra et al., US 2020/0143385 (hereinafter Chakra).
In regards to claims 1, 2, 9, 10, 17 and 18, the rejections above are incorporated accordingly.
In regards to claim 3, Singh doesn't explicitly teach:
obtaining the plurality of notifications comprises: determining an N most frequently used software components, wherein N is any positive integer, and wherein the plurality of notifications are associated with the N most frequently used software components.
However, Chakra teaches such use: (Abstract), see “a computer-implemented method includes tracking usage history of a plurality of components of one or more products. An original set of announcements about the one or more products is received, where the original set of announcements includes a plurality of announcement records. The plurality of announcement records are prioritized based on the usage history of the plurality of components” and (p. 4, [0040]), see "at block 209, the announcement vehicle 110 ranks, or sorts, the announcement records that relate to in-use components 140. This ranking may be based on a combination of the importance of the in-use components 140 and the importance of the announcement records themselves. In other words, for instance, the ranking may be based on the usage scores of the in-use components 140 combined with the action scores of the announcement records themselves. For example, an announcement record with high importance (e.g., with an action code that suggests urgency) that relates to a component 140 with high importance (e.g., a frequently used component 140) may be ranked highly, while an announcement record with low importance (e.g., with an action code that suggests no urgency) that relates to a component 140 with low importance (e.g., a component that was used once, long ago) may be ranked substantially lower" (emphasis added).
Sethi and Chakra are analogous art because they are from the same field of endeavor, software updates.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Sethi and Chakra before him or her, to modify the system of Sethi to include the teachings of Chakra, as a system for product update announcements, and accordingly it would enhance the system of Sethi, which is focused on software updates compatibility assessment, because that would provide Sethi with the ability to prioritize a plurality of update announcement records, as suggested by Chakra (p. 4, [0040]), p. 7, [0065]).
In regards to claim 11, Singh doesn't explicitly teach:
to obtaining the plurality of notifications, the at least one processor is configured to: determine an N most frequently used software components, wherein N is any positive integer, and wherein the plurality of notifications are associated with the N most frequently used software components.
However, Chakra teaches such use: (Abstract), see “a computer-implemented method includes tracking usage history of a plurality of components of one or more products. An original set of announcements about the one or more products is received, where the original set of announcements includes a plurality of announcement records. The plurality of announcement records are prioritized based on the usage history of the plurality of components” and (p. 4, [0040]), see "at block 209, the announcement vehicle 110 ranks, or sorts, the announcement records that relate to in-use components 140. This ranking may be based on a combination of the importance of the in-use components 140 and the importance of the announcement records themselves. In other words, for instance, the ranking may be based on the usage scores of the in-use components 140 combined with the action scores of the announcement records themselves. For example, an announcement record with high importance (e.g., with an action code that suggests urgency) that relates to a component 140 with high importance (e.g., a frequently used component 140) may be ranked highly, while an announcement record with low importance (e.g., with an action code that suggests no urgency) that relates to a component 140 with low importance (e.g., a component that was used once, long ago) may be ranked substantially lower" (emphasis added).
Sethi and Chakra are analogous art because they are from the same field of endeavor, software updates.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Sethi and Chakra before him or her, to modify the system of Sethi to include the teachings of Chakra, as a system for product update announcements, and accordingly it would enhance the system of Sethi, which is focused on software updates compatibility assessment, because that would provide Sethi with the ability to prioritize a plurality of update announcement records, as suggested by Chakra (p. 4, [0040]), p. 7, [0065]).
In regards to claim 19, Singh doesn't explicitly teach:
obtaining the plurality of notifications comprises: determining an N most frequently used software components, wherein N is any positive integer, and wherein the plurality of notifications are associated with the N most frequently used software components.
However, Chakra teaches such use: (Abstract), see “a computer-implemented method includes tracking usage history of a plurality of components of one or more products. An original set of announcements about the one or more products is received, where the original set of announcements includes a plurality of announcement records. The plurality of announcement records are prioritized based on the usage history of the plurality of components” and (p. 4, [0040]), see "at block 209, the announcement vehicle 110 ranks, or sorts, the announcement records that relate to in-use components 140. This ranking may be based on a combination of the importance of the in-use components 140 and the importance of the announcement records themselves. In other words, for instance, the ranking may be based on the usage scores of the in-use components 140 combined with the action scores of the announcement records themselves. For example, an announcement record with high importance (e.g., with an action code that suggests urgency) that relates to a component 140 with high importance (e.g., a frequently used component 140) may be ranked highly, while an announcement record with low importance (e.g., with an action code that suggests no urgency) that relates to a component 140 with low importance (e.g., a component that was used once, long ago) may be ranked substantially lower" (emphasis added).
Sethi and Chakra are analogous art because they are from the same field of endeavor, software updates.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Sethi and Chakra before him or her, to modify the system of Sethi to include the teachings of Chakra, as a system for product update announcements, and accordingly it would enhance the system of Sethi, which is focused on software updates compatibility assessment, because that would provide Sethi with the ability to prioritize a plurality of update announcement records, as suggested by Chakra (p. 4, [0040]), p. 7, [0065]).
13. Claims 4, 12 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Singh in view of Walters et al., US 2022/0368665 (hereinafter Walters).
In regards to claims 1, 2, 9, 10, 17 and 18, the rejections above are incorporated accordingly.
In regards to claim 4, Singh doesn't explicitly teach:
generating the respective set of features representations representative of the respective notification of the plurality of notifications comprises: pre-processing text included in the respective notification; and generating the respective set of feature representations based on the pre-processed text.
However, Walters teaches such use: (p. 6, [0037]), see “referring to FIG. 4B, an example portion of a dataset 450 that may be used for training the machine learning model 402 is shown. The dataset 450 may include a column for a message ID 453 that is used to identify each data entry in the dataset 450. The dataset 450 may include a column for text 456 (e.g., the text of a message), a column for a timestamp 459 (e.g., indicating when the message was sent or received), a column for an urgency level 462 (e.g., as generated by the urgency detection model discussed above), a column for a sentiment identifier 465 (e.g., as generated by the sentiment detection model discussed above), and a column for a predicted response time 468 (e.g., the time that a user actually responded to the message identified by the message ID). The columns 456-465 may be used as features and the predicted response time column 468 may be used as labels for training a supervised machine learning model (e.g., the model 402)”.
Sethi and Walters are analogous art because they are from the same field of endeavor, software update notification.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Sethi and Walters before him or her, to modify the system of Sethi to include the teachings of Walters, as a system for machine learning for notifications, and accordingly it would enhance the system of Sethi, which is focused on software updates compatibility assessment, because that would provide Sethi with the ability to predict when a notification should be sent to a user, as suggested by Walters (p. 6, [0037]), p. 9, [0060]).
In regards to claim 12, Singh doesn't explicitly teach:
to generate the respective set of features representations representative of the respective notification of the plurality of notifications, the at least one processor is configured to: pre-process text included in the respective notification; and generate the respective set of feature representations based on the pre-processed text.
However, Walters teaches such use: (p. 6, [0037]), see “referring to FIG. 4B, an example portion of a dataset 450 that may be used for training the machine learning model 402 is shown. The dataset 450 may include a column for a message ID 453 that is used to identify each data entry in the dataset 450. The dataset 450 may include a column for text 456 (e.g., the text of a message), a column for a timestamp 459 (e.g., indicating when the message was sent or received), a column for an urgency level 462 (e.g., as generated by the urgency detection model discussed above), a column for a sentiment identifier 465 (e.g., as generated by the sentiment detection model discussed above), and a column for a predicted response time 468 (e.g., the time that a user actually responded to the message identified by the message ID). The columns 456-465 may be used as features and the predicted response time column 468 may be used as labels for training a supervised machine learning model (e.g., the model 402)”.
Sethi and Walters are analogous art because they are from the same field of endeavor, software update notification.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Sethi and Walters before him or her, to modify the system of Sethi to include the teachings of Walters, as a system for machine learning for notifications, and accordingly it would enhance the system of Sethi, which is focused on software updates compatibility assessment, because that would provide Sethi with the ability to predict when a notification should be sent to a user, as suggested by Walters (p. 6, [0037]), p. 9, [0060]).
In regards to claim 20, Singh doesn't explicitly teach:
generating the respective set of features representations representative of the respective notification of the plurality of notifications comprises: pre-processing text included in the respective notification; and generating the respective set of feature representations based on the pre-processed text.
However, Walters teaches such use: (p. 6, [0037]), see “referring to FIG. 4B, an example portion of a dataset 450 that may be used for training the machine learning model 402 is shown. The dataset 450 may include a column for a message ID 453 that is used to identify each data entry in the dataset 450. The dataset 450 may include a column for text 456 (e.g., the text of a message), a column for a timestamp 459 (e.g., indicating when the message was sent or received), a column for an urgency level 462 (e.g., as generated by the urgency detection model discussed above), a column for a sentiment identifier 465 (e.g., as generated by the sentiment detection model discussed above), and a column for a predicted response time 468 (e.g., the time that a user actually responded to the message identified by the message ID). The columns 456-465 may be used as features and the predicted response time column 468 may be used as labels for training a supervised machine learning model (e.g., the model 402)”.
Sethi and Walters are analogous art because they are from the same field of endeavor, software update notification.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Sethi and Walters before him or her, to modify the system of Sethi to include the teachings of Walters, as a system for machine learning for notifications, and accordingly it would enhance the system of Sethi, which is focused on software updates compatibility assessment, because that would provide Sethi with the ability to predict when a notification should be sent to a user, as suggested by Walters (p. 6, [0037]), p. 9, [0060]).
14. Claims 5-8 and 13-16 re rejected under 35 U.S.C. 103 as being unpatentable over Singh in view of Lagi et al., US 2020/0065857 (hereinafter Lagi).
In regards to claims 1, 2, 4, 9, 10 and 12, the rejections above are incorporated accordingly.
In regards to claim 5, Singh doesn't explicitly teach:
pre-processing the text comprises at least one of: tokenization of the text included in the respective notification; stop word removal of the text included in the respective notification; stemming the text included in the respective notification; lemmatization of the text included in the respective notification; or unwanted character removal of the text included in the respective notification.
However, Lagi teaches such use: (p. 20, [0162]), see “in embodiments, where data in the knowledge graph 210 may not be of sufficient structure or confidence, a generative model may be used to generate tokens (e.g., words and phrases) from the content” and (p. 18. [0154]), see “in some implementations, the lead scoring system 214 retrieves information relating to each person indicated in the recipient list from the knowledge graph 210… The lead scoring system 214 may input this information to the lead scoring model, which outputs a lead score based thereon. The lead scoring system 214 may score each person in the recipient list”.
Sethi and Lagi are analogous art because they are from the same field of endeavor, software updates.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Sethi and Lagi before him or her, to modify the system of Sethi to include the teachings of Lagi, as a system for automated generation of notifications, and accordingly it would enhance the system of Sethi, which is focused on software updates compatibility assessment, because that would provide Sethi with the ability to provide notification of interest to recipients, as suggested by Lagi (p. 20, [0162]), p. 28, [0226]).
In regards to claim 6, Singh doesn't explicitly teach:
said grouping is implemented by an unsupervised machine learning model.
However, Lagi teaches such use: (p. 16, [0143]), see “the machine learning system 212 may train event classification models in any suitable manner. For example, the machine learning system 212 may implement supervised, semi-supervised, and/or unsupervised training techniques to train an event classification model… The machine learning system 212 may then try to identify events from the unlabeled data sets”.
Sethi and Lagi are analogous art because they are from the same field of endeavor, software updates.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Sethi and Lagi before him or her, to modify the system of Sethi to include the teachings of Lagi, as a system for automated generation of notifications, and accordingly it would enhance the system of Sethi, which is focused on software updates compatibility assessment, because that would provide Sethi with the ability to provide notification of interest to recipients, as suggested by Lagi (p. 20, [0162]), p. 28, [0226]).
In regards to claim 7, Singh doesn't explicitly teach:
said labeling is implemented by a semi-supervised machine learning model.
However, Lagi teaches such use: (p. 3, [0041]), see “the new event is extracted using an event classification model that is trained to identify events indicated in documents. In some embodiments, the new relationship is extracted using an inference engine. In some embodiments, the new entity is extracted using an entity classification model that is trained to identify entities indicated in documents) and (p. 16, [0143]), see “the machine learning system 212 may train event classification models in any suitable manner. For example, the machine learning system 212 may implement supervised, semi-supervised, and/or unsupervised training techniques to train an event classification model… The machine learning system 212 may then try to identify events from the unlabeled data sets” (emphasis added).
Sethi and Lagi are analogous art because they are from the same field of endeavor, software updates.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Sethi and Lagi before him or her, to modify the system of Sethi to include the teachings of Lagi, as a system for automated generation of notifications, and accordingly it would enhance the system of Sethi, which is focused on software updates compatibility assessment, because that would provide Sethi with the ability to provide notification of interest to recipients, as suggested by Lagi (p. 20, [0162]), p. 28, [0226]).
In regards to claim 8, Singh doesn't explicitly teach:
the machine learning algorithm is a supervised machine learning algorithm.
However, Lagi teaches such use: (p. 16, [0143]), see “the machine learning system 212 may train event classification models in any suitable manner. For example, the machine learning system 212 may implement supervised, semi-supervised, and/or unsupervised training techniques to train an event classification model… The machine learning system 212 may then try to identify events from the unlabeled data sets. In a supervised environment, a human may confirm or deny an event classification of an unlabeled data set. Such confirmation or denial may be used to further reinforce the event classification model”.
Sethi and Lagi are analogous art because they are from the same field of endeavor, software updates.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Sethi and Lagi before him or her, to modify the system of Sethi to include the teachings of Lagi, as a system for automated generation of notifications, and accordingly it would enhance the system of Sethi, which is focused on software updates compatibility assessment, because that would provide Sethi with the ability to provide notification of interest to recipients, as suggested by Lagi (p. 20, [0162]), p. 28, [0226]).
In regards to claim 13, Singh doesn't explicitly teach:
to pre-process the text, the at least one processor is configured to perform at least one of: tokenize the text included in the respective notification; remove stop words from the text included in the respective notification; stem the text included in the respective notification; lemmatize the text included in the respective notification; or remove unwanted characters from the text included in the respective notification.
However, Lagi teaches such use: (p. 20, [0162]), see “in embodiments, where data in the knowledge graph 210 may not be of sufficient structure or confidence, a generative model may be used to generate tokens (e.g., words and phrases) from the content” and (p. 18. [0154]), see “in some implementations, the lead scoring system 214 retrieves information relating to each person indicated in the recipient list from the knowledge graph 210… The lead scoring system 214 may input this information to the lead scoring model, which outputs a lead score based thereon. The lead scoring system 214 may score each person in the recipient list”.
Sethi and Lagi are analogous art because they are from the same field of endeavor, software updates.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Sethi and Lagi before him or her, to modify the system of Sethi to include the teachings of Lagi, as a system for automated generation of notifications, and accordingly it would enhance the system of Sethi, which is focused on software updates compatibility assessment, because that would provide Sethi with the ability to provide notification of interest to recipients, as suggested by Lagi (p. 20, [0162]), p. 28, [0226]).
In regards to claim 14, Singh doesn't explicitly teach:
an unsupervised machine learning model is utilized to group each of the respective sets of feature representations generated for the plurality of notifications into a respective cluster of a plurality of clusters.
However, Lagi teaches such use: (p. 16, [0143]), see “the machine learning system 212 may train event classification models in any suitable manner. For example, the machine learning system 212 may implement supervised, semi-supervised, and/or unsupervised training techniques to train an event classification model… The machine learning system 212 may then try to identify events from the unlabeled data sets”.
Sethi and Lagi are analogous art because they are from the same field of endeavor, software updates.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Sethi and Lagi before him or her, to modify the system of Sethi to include the teachings of Lagi, as a system for automated generation of notifications, and accordingly it would enhance the system of Sethi, which is focused on software updates compatibility assessment, because that would provide Sethi with the ability to provide notification of interest to recipients, as suggested by Lagi (p. 20, [0162]), p. 28, [0226]).
In regards to claim 15, Singh doesn't explicitly teach:
a semi-supervised machine learning model is utilized to label the notification with a cluster identifier that indicates a respective cluster of the plurality of clusters in which the notification is grouped to generate a labeled notification.
However, Lagi teaches such use: (p. 3, [0041]), see “the new event is extracted using an event classification model that is trained to identify events indicated in documents. In some embodiments, the new relationship is extracted using an inference engine. In some embodiments, the new entity is extracted using an entity classification model that is trained to identify entities indicated in documents) and (p. 16, [0143]), see “the machine learning system 212 may train event classification models in any suitable manner. For example, the machine learning system 212 may implement supervised, semi-supervised, and/or unsupervised training techniques to train an event classification model… The machine learning system 212 may then try to identify events from the unlabeled data sets” (emphasis added).
Sethi and Lagi are analogous art because they are from the same field of endeavor, software updates.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Sethi and Lagi before him or her, to modify the system of Sethi to include the teachings of Lagi, as a system for automated generation of notifications, and accordingly it would enhance the system of Sethi, which is focused on software updates compatibility assessment, because that would provide Sethi with the ability to provide notification of interest to recipients, as suggested by Lagi (p. 20, [0162]), p. 28, [0226]).
In regards to claim 16, Singh doesn't explicitly teach:
the machine learning algorithm is a supervised machine learning algorithm.
However, Lagi teaches such use: (p. 16, [0143]), see “the machine learning system 212 may train event classification models in any suitable manner. For example, the machine learning system 212 may implement supervised, semi-supervised, and/or unsupervised training techniques to train an event classification model… The machine learning system 212 may then try to identify events from the unlabeled data sets. In a supervised environment, a human may confirm or deny an event classification of an unlabeled data set. Such confirmation or denial may be used to further reinforce the event classification model”.
Sethi and Lagi are analogous art because they are from the same field of endeavor, software updates.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Sethi and Lagi before him or her, to modify the system of Sethi to include the teachings of Lagi, as a system for automated generation of notifications, and accordingly it would enhance the system of Sethi, which is focused on software updates compatibility assessment, because that would provide Sethi with the ability to provide notification of interest to recipients, as suggested by Lagi (p. 20, [0162]), p. 28, [0226]).
Conclusion
15. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US Patent Application Publications
Devadoss 12423439 teaches a method includes obtaining metadata associated with target assets in an IP address range. The target assets are scanned, and an initial list of security vulnerabilities and patches is generated along. A prediction model predicts which patches from the initial list are applicable to the target assets and removes unapplicable patches to generate a predicted list of patches.
Cormack 8838606 teaches Systems and methods for classifying electronic information or documents into a number of classes and subclasses are provided through an active learning algorithm. In certain embodiments, seed sets may be eliminated by merging relevance feedback and machine learning phases. Such document classification systems are easily scalable for large document collections, require less manpower and can be employed on a single computer, thus requiring fewer resources.
16. Any inquiry concerning this communication or earlier communications from the examiner should be directed to Evral Bodden whose telephone number is 571-272-3455. The examiner can normally be reached on Monday to Friday from 9am to 5pm.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Cha Do, can be reached at telephone number 571-272-3721. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
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) Form at https://www.uspto.gov/patents/uspto-automatedinterview-request-air-form.
If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/EVRAL E BODDEN/Primary Examiner, Art Unit 2193