DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This action is responsive to application filed on 11 May 2023. Claims 1-20 are pending in the case. Claims 1, 10, and 16 are the independent claims. This action is non-final.
Priority
Acknowledgment is made of applicant’s claim for foreign priority under 35 U.S.C. 119 (a)-(d). The certified copy has been filed in parent Application No. PCTCN2023087480, filed on April 11th, 2023.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on May 11th, 2023 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
The information disclosure statement (IDS) submitted on August 4th, 2023 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Allowable Subject Matter
Claims 14, 15, 19, and 20 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claims 1-3, 6-13, and 16-18 are rejected under 35 U.S.C. 103 as being unpatentable over Liu et al. (US 2017/0193392 A1) in view of Pinheiro et al. (US 2022/0103618 A1).
Regarding claim 1, Liu teaches a method, comprising:
retrieving, by a server system from a source database, source data including a plurality of attributes (see Liu, Paragraph [0036], “At block 210, one or more jobs 164 are created and executed to generate data mart 156 based on raw data sources 152-154. For example, in the social networking context, raw data may include profile data of multiple profiles created by different users and activity data that indicates behavior of multiple users relative to an online system.” [Raw data sources (i.e., source data) including profile data and activity data (i.e., attributes) is received.]);
identifying, by the server system based on a known set of historical attributes included in the source data, a set of new attributes included in the source data (see Liu, Paragraphs [0036], [0038], [0039], “At block 210, one or more jobs 164 are created and executed to generate data mart 156 based on raw data sources 152-154. For example, in the social networking context, raw data may include profile data of multiple profiles created by different users and activity data that indicates behavior of multiple users relative to an online system. The raw data is analyzed to identify and generate data to include in data mart 156. … At block 230, in response to receiving the user input, feature data in data mart 156 is integrated with training data resulting in a data set from which a computer model may be generated. … At block 240, additional features and their corresponding values are produced using one or more transformation operations.” [The raw data sources (i.e., source data) include profile data and activity data (i.e., historical attributes). Additional features (i.e., new attributes) may be produced (i.e., generated).]);
generating, by the server system using one or more feature calculation algorithms, a set of new features from the set of new attributes (see Liu, Paragraph [0039], “At block 240, additional features and their corresponding values are produced using one or more transformation operations. Block 240 may involve cluster system 150, while executing a job (e.g., a newly generated job by ML service 110 or a portion of the job generated previously in block 230), reads (at least a portion of) the integrated data created in block 230 and applies the transformation operations. … The additional features are stored to output 160 and leveraged later for model training.” [The additional features (i.e., new features) may be produced (i.e., generated) using transformation operations (i.e., feature calculation algorithms).]);
However, Liu does not explicitly teach:
retrieving, by the server system from an incremental cache storing existing features generated from historical attributes included in the source data, a set of existing features;
Pinheiro teaches:
retrieving, by the server system from an incremental cache storing existing features generated from historical attributes included in the source data, a set of existing features (see Pinheiro, Paragraph [0014], “The method may further include using a machine learning algorithm to determine a data gravity for optimizing at least one from among a location of at least one of the data flows and a creation of an incremental cache.” [An incremental cache may be used.]);
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined Liu (teaching automated machine learning tool) in view of Pinheiro (teaching data pipeline architecture), and arrived at a method that incorporates an incremental cache. One of ordinary skill in the art would have been motivated to make such a combination for the purposes of improving data pipelines (see Pinheiro, Paragraph [0004]). In addition, both the references (Liu and Pinheiro) teach features that are directed to analogous art and they are directed to the same field of endeavor, such as data processing. The close relation between both the references highly suggests an expectation of success.
The combination of Liu, and Pinheiro further teaches:
merging, by the server system using one or more aggregation procedures, corresponding features in the set of new features and the set of existing features generated based on the set of historical attributes (see Liu, Paragraphs [0039], [0077], “At block 240, additional features and their corresponding values are produced using one or more transformation operations. … The additional features are stored to output 160 and leveraged later for model training. … Another way a data mart may be automatically updated is through the inclusion of new features. Examples of new features include a newly-defined profile attribute, a newly-defined type of action, a newly-defined web page, a new aggregation operation on an existing feature, or a new product. The data mart manager maintains (or has access to) one or more lists of existing features and determines whether a new feature has been defined. If so, then the data mart manager updates one of the lists.” [The new features are aggregated (i.e., merging) with the existing features.]);
and updating, by the server system using a set of updated features generated during the merging, the incremental cache (see Liu, Paragraphs [0039], [0077], “At block 240, additional features and their corresponding values are produced using one or more transformation operations. … The additional features are stored to output 160 and leveraged later for model training. … Another way a data mart may be automatically updated is through the inclusion of new features. Examples of new features include a newly-defined profile attribute, a newly-defined type of action, a newly-defined web page, a new aggregation operation on an existing feature, or a new product. The data mart manager maintains (or has access to) one or more lists of existing features and determines whether a new feature has been defined. If so, then the data mart manager updates one of the lists.” [The new features may be stored.]).
Regarding claim 2, Liu in view of Pinheiro teaches all the limitations of claim 1. Liu further teaches:
receiving, by the server system from a user computing device, a request for one or more features; accessing, by the server system based on the request, the incremental cache to retrieve one or more features; generating, by the server system based on one or more parameters specified in the request and the one or more features retrieved from the incremental cache, a set of preprocessed features for the request; and transmitting, by the server system to the user computing device, the set of preprocessed features (see Liu, Paragraphs [0051]-[0055], [0094], “a user with knowledge of the problem domain specifies what data to extract from raw data sources 152-154 and how the data is to be aggregated, if at all. The extracted and aggregated data is stored in data mart 156. Thus, data mart 156 may be considered a post-processing output of raw data sources 152-154. Another user provides input that initiates generation of a computer model that will be generated based on data in data mart 156. … To extract data from raw data sources 152-154, a user may specify one or more extract instructions that indicate what data to extract from the raw data and to include in data mart 156. … Time may be an important input for an extract instruction. In extracting snapshot data, time refers to a timestamp indicating a particular state of data, such as a member's employment status at time X. In extracting aggregated data, time refers to a time range over which to aggregate a feature. For example, a number of messages that were sent between date X and date Y. … An example extract instruction is a SQL SELECT statement that selects specified columns from specified tables (i.e., in a FROM clause) and that may include one or more predicates specified in a WHERE clause and an aggregation clause, such as SUM. … At block 540 (which is optional in the embodiment of process 500), the user is prompted to provide input, such as identifying features to remove from a set of features upon which the multiple computer models are based. FIG. 4D is a screenshot of an example user interface 440 that displays multiple features and an option for each feature to remove that feature from the set of features from which future computer models will be trained.” [The user may specify what data to extract (i.e., receiving a request for one or more features from a user computing device). The aggregated data (i.e., preprocessed features) may be generated based on parameters such as time (i.e., based on one or more parameters specified in the request). The features upon which the computer models are based on may be transmitted to the user.]).
Regarding claim 3, Liu in view of Pinheiro teaches all the limitations of claim 2. Liu further teaches:
training, by the server system using the set of preprocessed features, a machine learning model, wherein the machine learning model is trained to classify electronic communications according to the training using set of preprocessed features generated by the server system from source data for a plurality of previous electronic communications for which a classification is known (see Liu, Paragraphs [0064]-[0068], “At block 320, one or more aggregations are performed on a portion of the source data to generate aggregated data that corresponds to one or more features. Example aggregation operations include sum, average, median, and mode. … At block 340, a first computer model is generated based on first training data and the feature data stored in the second database. Any technique for generating and training the first computer model may be used. … At block 360, a second computer model is generated based on second training data and the feature data stored in the second database. The second training data may be different than the first training data. For example, the second training data may be known online activity over a more recent time period than the known online activity reflected in the first training data.” [The first and second computer models may be trained based on the aggregated data (i.e., preprocessed features).]).
Regarding claim 6, Liu in view of Pinheiro teaches all the limitations of claim 1. Liu further teaches:
wherein the retrieving from the source database is performed at a first timestamp, wherein the set of existing features include at least a start timestamp and an end timestamp indicating that the set of existing features were generated during a time interval that is prior to the first timestamp and that is from the start timestamp to the end timestamp, wherein the end timestamp is closer in time to the first timestamp than the start timestamp, and wherein the set of updated features includes features with timestamps from the start timestamp to the first timestamp (see Liu, Paragraph [0053], “Time may be an important input for an extract instruction. In extracting snapshot data, time refers to a timestamp indicating a particular state of data, such as a member's employment status at time X. In extracting aggregated data, time refers to a time range over which to aggregate a feature. For example, a number of messages that were sent between date X and date Y.” [The features may be aggregated based on timestamps.]).
Regarding claim 7, Liu in view of Pinheiro teaches all the limitations of claim 1. Liu further teaches:
wherein identifying the set of new attributes included in the source data for merging further includes: identifying, by the server system based on an indicator attribute stored in the source data and corresponding to a non-indicator attribute, that the non-indicator attribute has been updated; and adding the updated, non-indicator attribute to the set of new attributes (see Liu, Paragraph [0048], “raw data sources 152-154 may include user profiles or account information, such personal information and/or business information. Example personal information includes first and last names, current residence, marital status, personal interests. Example business information may include academic history, work history, employer name, job title, employment status, skills, and endorsements by other users or members of a social network. Such account information may or may not include any change information, such as data that indicates when the work history was changed, when the employment status changed, when the job title changed, etc.” [Change information (i.e., indicator attribute) may be used to indicate updates to the personal or business information (i.e., non-indicator attribute).]).
Regarding claim 8, Liu in view of Pinheiro teaches all the limitations of claim 1. Liu further teaches:
wherein the merging a given type of feature from the set of new features and the set of existing features is performed based on identifying that two features of the given type of feature from the set of new features and the set of existing features have the same unique feature key (see Liu, Paragraph [0077], “Another way a data mart may be automatically updated is through the inclusion of new features. Examples of new features include a newly-defined profile attribute, a newly-defined type of action, a newly-defined web page, a new aggregation operation on an existing feature, or a new product. The data mart manager maintains (or has access to) one or more lists of existing features and determines whether a new feature has been defined. If so, then the data mart manager updates one of the lists. For example, a new web page is created and hosted by system 100 (or an affiliated system). Each web page is uniquely identified by a page key. Then, the data mart manager receives a change record that indicates a particular member and includes a page key of the new page and compares the page key against a list of page keys. If the page key is not in the list, then the data mart manager adds the page key to the list of page keys, creates a new record that indicates the page key and a member identifier that identifies the particular member that viewed the new page, and stores the new record in data mart 156.” [The new and existing features are merged based on a page key and member identifier (i.e., unique feature key).]).
Regarding claim 9, Liu in view of Pinheiro teaches all the limitations of claim 1. Liu further teaches:
wherein the set of new features includes one or more types of the following types of features: a direct feature that is a copy of a corresponding attribute, an aggregated feature that is derived from multiple attributes, an unbounded feature that is not bound by a time limitation, and a bounded feature that corresponds to a specified time range (see Liu, Paragraph [0053], “Time may be an important input for an extract instruction. In extracting snapshot data, time refers to a timestamp indicating a particular state of data, such as a member's employment status at time X. In extracting aggregated data, time refers to a time range over which to aggregate a feature. For example, a number of messages that were sent between date X and date Y.” [The features may be aggregated based on a time range.]).
Regarding claims 10-13, and 16-18, Liu in view of Pinheiro teaches all of the elements of claims 1-3, and 6-9 in method form. Liu also discloses a non-transitory computer-readable storage medium [0175], and a system [0175]. Therefore, the supporting rationale of the rejection to claims 1-3, and 6-9 applies equally as well to those elements of claims 10-13, and 16-18.
Claims 4, and 5 are rejected under 35 U.S.C. 103 as being unpatentable over Liu in view of Pinheiro, further in view of Samudrala et al. (US 2024/0202093 A1).
Regarding claim 4, Liu in view of Pinheiro teaches all the limitation of claim 1. However, the combination of Liu, and Pinheiro do not explicitly teach:
wherein the one or more aggregation procedures include a mean combination aggregation procedure, and wherein executing the mean combination aggregation procedure includes: generating a first value by adding results of: multiplying a first count and a first mean; multiplying a second count and a second mean; and adding a result of multiplying the first count and the first mean to a result of multiplying the second count and the second mean; and dividing the first value by the sum of the first count and the second count.
Samudrala teaches:
wherein the one or more aggregation procedures include a mean combination aggregation procedure, and wherein executing the mean combination aggregation procedure includes: generating a first value by adding results of: multiplying a first count and a first mean; multiplying a second count and a second mean; and adding a result of multiplying the first count and the first mean to a result of multiplying the second count and the second mean; and dividing the first value by the sum of the first count and the second count (see Smith, Paragraph [0076], “The mean and standard deviation for each dimension are recomputed as provided in equation (17) and equation (18) below: … Here, μ(c), μ(b), and μ(d), are combined mean, historical data mean and delta data mean respectively, and σ(c), σ(b), and σ(d), are combined standard deviation, historical data standard deviation and delta data standard deviation respectively. Nh and Nd denote total data points in historical and delta data, respectively.” [A combined mean may be determined as shown in equation 17.]).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined Liu (teaching automated machine learning tool) in view of Pinheiro (teaching data pipeline architecture), further in view of Samudrala (teaching methods and systems for generation and optimization of metric threshold for anomaly detection), and arrived at a method that incorporates an aggregation procedure. One of ordinary skill in the art would have been motivated to make such a combination for the purposes of optimizing parameters and enhancing data analysis (see Samudrala, Paragraph [0076]). In addition, the references (Liu, Pinheiro, and Samudrala) teach features that are directed to analogous art and they are directed to the same field of endeavor, such as data processing. The close relation between the references highly suggests an expectation of success.
Regarding claim 5 Liu in view of Pinheiro teaches all the limitation of claim 1. However, the combination of Liu, and Pinheiro do not explicitly teach:
wherein the one or more aggregation procedures include a mean difference aggregation procedure, and wherein executing the mean difference aggregation procedure includes: generating a first value by adding results of: multiplying a first count and a first mean; multiplying a second count and a second mean; and subtracting a result of multiplying the first count and the first mean from a result of multiplying the second count and the second mean; and generating a second value by subtracting the second count from the first count; and dividing the first value by the second value.
Samudrala teaches:
wherein the one or more aggregation procedures include a mean difference aggregation procedure, and wherein executing the mean difference aggregation procedure includes: generating a first value by adding results of: multiplying a first count and a first mean; multiplying a second count and a second mean; and subtracting a result of multiplying the first count and the first mean from a result of multiplying the second count and the second mean; and generating a second value by subtracting the second count from the first count; and dividing the first value by the second value (see Smith, Paragraph [0076], “The mean and standard deviation for each dimension are recomputed as provided in equation (17) and equation (18) below: … Here, μ(c), μ(b), and μ(d), are combined mean, historical data mean and delta data mean respectively, and σ(c), σ(b), and σ(d), are combined standard deviation, historical data standard deviation and delta data standard deviation respectively. Nh and Nd denote total data points in historical and delta data, respectively.” [A combined mean may be determined as shown in equation 17.]).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined Liu (teaching automated machine learning tool) in view of Pinheiro (teaching data pipeline architecture), further in view of Samudrala (teaching methods and systems for generation and optimization of metric threshold for anomaly detection), and arrived at a method that incorporates an aggregation procedure. One of ordinary skill in the art would have been motivated to make such a combination for the purposes of optimizing parameters and enhancing data analysis (see Samudrala, Paragraph [0076]). In addition, the references (Liu, Pinheiro, and Samudrala) teach features that are directed to analogous art and they are directed to the same field of endeavor, such as data processing. The close relation between the references highly suggests an expectation of success.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HUSAM TURKI SAMARA whose telephone number is (571)272-6803. The examiner can normally be reached on Monday - Thursday, Alternate Fridays.
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, Apu Mofiz can be reached on (571)-272-4080. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). 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.
HUSAM TURKI SAMARA/Examiner, Art Unit 2161
/APU M MOFIZ/Supervisory Patent Examiner, Art Unit 2161