DETAILED ACTION
Notice of 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 .
Response to Arguments
Applicant's arguments filed 11/26/2025 have been fully considered.
Applicant argues that the prior art of record does not teach on the amendment “wherein the segmentation rule comprises a plurality of node rules and a node rule condition, wherein each of the plurality of node rules corresponds to a prior interaction of the user with the digital content channel and the node rule condition specifies a relationship among the plurality of node rules;”. In response to the argument, Examiner respectfully agrees. The amendment changes the scope of the invention. An updated search was conducted and a prior art was discovered to read on most of the claims: US 2021/0142256 Al (M.Y.). Previously cited art US 2022/0245115 Al (Kulkarni) still teaches on Claim 20.
Please see updated rejection below in view of:
Claim(s) 1-8, 19, 21-29 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by US 2021/0142256 Al (M.Y.).
Claim(s) 9 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 2021/0142256 Al (M.Y.) in view of US 10,242,019 B1 (Shan).
Claim(s) 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 2021/0142256 Al (M.Y.) in view of US 2022/0245115 Al (Kulkarni).
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: “a content component” in claim 19.
Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof. Support is found in the Specification: structure, see Fig 2, [0054] and for algorithm, see [0019]-[0022],[0043],[0076]-[0079],[0082]
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A 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.
Claim(s) 1-8, 19, 21-29 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by US 2021/0142256 Al (M.Y.).
Regarding Claim 1:
M.Y. teaches A method for event processing, comprising:
receiving, by a state manager, an event ([0021] user interaction data/event) corresponding to an interaction of a user with a digital content channel; ([0019] a user segmentation system employs a key performance indicator (KPI) segmentation module to generate user segments based on a key performance indicator received as an input from a user. )
identifying, by the state manager, a rule state (ie. KPI attribute value occurrence) for a segmentation rule (ie. label rule) that assigns users to a segment, wherein the segmentation rule comprises a plurality of node rules (ie. candidate rules, labelling rules) and a node rule condition (ie. frequency of occurrence), wherein each of the plurality of node rules corresponds to a prior interaction of the user with the digital content channel and the node rule condition specifies a relationship among the plurality of node rules; ([0020] The KPI segmentation module then determines correlations between the KPI and respective attributes based on the user interaction data. [0021] Based on the subset of selected attributes, the KPI segmentation module performs rule mining to mine for significant patterns (e.g., attributes and corresponding attribute values) from the user interaction data to form rules. The KPI segmentation module, for instance, may perform association rule mining to extract rules based on frequency of occurrence in the user interaction data. A label is then assigned by the KPI segmentation module based on frequency of occurrence attribute value of the KPI.)
assigning, by an evaluation engine, the user to the segment by determining that each of the plurality of node rules in the segmentation rule is satisfied based on the rule state and the event from the digital content channel; ([0030] "Attributes" describe user interaction of respective user IDs within user interaction data with respective digital content. "User segments" are defined using attributes. [0056] The labelled rules 408 are then passed from the rule labeling module 406 to a metric generation module 410. The metric generation module 410 is configured to compute at least one metric 412 that indicates quality of the assigned label (block 506).)
and providing, by a content component, customized content to the user based on the assignment of the user to the segment. ([0040] The user segment 120 is then passed from the user segmentation system 118 as an input to a digital content recommendation system 122 to generate one or more recommendations 124. Once trained, the model is used to generate a recommendation 124 regarding digital content that may be of interest based on user interaction data 116 received from a client device 104. The recommendation 124 is then used to control which items of the digital content 112 are provided back to the client device 104.)
Regarding Claim 19:
M.Y. teaches An apparatus for event processing, comprising: a processor; a memory storing instructions executable by the processor; ([0080] Fig 9, The computing device 902 includes a processing system 904, one or more computer readable media 906. [0081] The processing system 904 is illustrated as including hardware element 910 that may be configured as processors.)
a state manager configured to receive an event ([0021] user interaction data/event) corresponding to an interaction of a user with a digital content channel; ([0019] a user segmentation system employs a key performance indicator (KPI) segmentation module to generate user segments based on a key performance indicator received as an input from a user. )
and to identify a rule state (ie. KPI attribute value occurrence) for a segmentation rule (ie. label rule) that assigns users to a segment based on events from the digital content channel, wherein the segmentation rule comprises a plurality of node rules (ie. candidate rules, labelling rules) and a node rule condition (ie. frequency of occurrence), wherein each of the plurality of node rules corresponds to a prior interaction of the user with the digital content channel and the node rule condition specifies a relationship among the plurality of node rules; ([0020] The KPI segmentation module then determines correlations between the KPI and respective attributes based on the user interaction data. [0021] Based on the subset of selected attributes, the KPI segmentation module performs rule mining to mine for significant patterns (e.g., attributes and corresponding attribute values) from the user interaction data to form rules. The KPI segmentation module, for instance, may perform association rule mining to extract rules based on frequency of occurrence in the user interaction data. A label is then assigned by the KPI segmentation module based on frequency of occurrence attribute value of the KPI.)
an evaluation engine configured to assign the user to the segment by determining that each of the plurality of node rules in the segmentation rule is satisfied based on the rule state and the event from the digital content channel; ([0030] "Attributes" describe user interaction of respective user IDs within user interaction data with respective digital content. "User segments" are defined using attributes. [0056] The labelled rules 408 are then passed from the rule labeling module 406 to a metric generation module 410. The metric generation module 410 is configured to compute at least one metric 412 that indicates quality of the assigned label (block 506).)
and a content component configured to provide customized content to the user based on the assignment of the user to the segment. ([0040] The user segment 120 is then passed from the user segmentation system 118 as an input to a digital content recommendation system 122 to generate one or more recommendations 124. Once trained, the model is used to generate a recommendation 124 regarding digital content that may be of interest based on user interaction data 116 received from a client device 104. The recommendation 124 is then used to control which items of the digital content 112 are provided back to the client device 104.)
Regarding Claim 22:
M.Y. teaches A non-transitory computer readable medium storing code, the code comprising instructions that, when executed by at least one processor ([0080] Fig 9, The computing device 902 includes a processing system 904, one or more computer readable media 906. [0081] The processing system 904 is illustrated as including hardware element 910 that may be configured as processors.), cause the at least one processor to perform operations comprising:
receiving, by a state manager, an event ([0021] user interaction data/event) corresponding to an interaction of a user with a digital content channel; ([0019] a user segmentation system employs a key performance indicator (KPI) segmentation module to generate user segments based on a key performance indicator received as an input from a user. )
identifying, by the state manager, a rule state (ie. KPI attribute value occurrence) for a segmentation rule (ie. label rule) that assigns users to a segment, ([0020] The KPI segmentation module then determines correlations between the KPI and respective attributes based on the user interaction data. [0021] Based on the subset of selected attributes, the KPI segmentation module performs rule mining to mine for significant patterns (e.g., attributes and corresponding attribute values) from the user interaction data to form rules. The KPI segmentation module, for instance, may perform association rule mining to extract rules based on frequency of occurrence in the user interaction data. A label is then assigned by the KPI segmentation module based on frequency of occurrence attribute value of the KPI.)
wherein the segmentation rule comprises a plurality of node rules (ie. candidate rules, labelling rules) and a node rule condition (ie. frequency of occurrence), wherein each of the plurality of node rules corresponds to a prior interaction of the user with the digital content channel and the node rule condition specifies a relationship among the plurality of node rules; ([0054] A rule extraction module 402 is employed to extract candidate rules 404 from the attribute subset 212. This extraction is based on frequency of occurrence of respective attributes forming the rule (block 502) in the user interaction data 116. [0055] The candidate rules 404 are then passed as an input to a rule labeling module 406 to assign a label to the rules based on frequency of occurrence of an attribute value of the key performance indicator (block 504) and as such generate labelled rules 408.)
assigning, by an evaluation engine, the user to the segment by determining that each of the plurality of node rules in the segmentation rule is satisfied based on the rule state (ie. KPI attribute value occurrence) and the event (ie. KPI input/event) from the digital content channel; ([0030] "Attributes" describe user interaction of respective user IDs within user interaction data with respective digital content. "User segments" are defined using attributes. [0056] The labelled rules 408 are then passed from the rule labeling module 406 to a metric generation module 410. The metric generation module 410 is configured to compute at least one metric 412 that indicates quality of the assigned label (block 506).)
and providing, by a content component, customized content to the user based on the assignment of the user to the segment. ([0040] The user segment 120 is then passed from the user segmentation system 118 as an input to a digital content recommendation system 122 to generate one or more recommendations 124. Once trained, the model is used to generate a recommendation 124 regarding digital content that may be of interest based on user interaction data 116 received from a client device 104. The recommendation 124 is then used to control which items of the digital content 112 are provided back to the client device 104.)
Regarding Claims 2, 23:
M.Y. teaches the inventions of claims 1, 22 as described.
M.Y. teaches identifying, by the state manager, a plurality of segmentation rules for assigning users to a plurality of segments based on events from the digital content channel; ([0020] The KPI segmentation module then determines correlations between the KPI and respective attributes based on the user interaction data. [0021] Based on the subset of selected attributes, the KPI segmentation module performs rule mining to mine for significant patterns (e.g., attributes and corresponding attribute values) from the user interaction data to form rules. The KPI segmentation module, for instance, may perform association rule mining to extract rules based on frequency of occurrence in the user interaction data. A label is then assigned by the KPI segmentation module based on frequency of occurrence attribute value of the KPI.)
and updating, by the state manager, a plurality of rule states corresponding to the plurality of segmentation rules, respectively, based on the event to obtain a plurality of updated rule states. ([0058] A representation is then output by the KPI segmentation module 128 of the user segment 120 in a user interface that identifies the respect attribute and the attribute value (block 314), an example user interface 600 is shown in FIG. 6. The user interface 600, for instance, may display user segments 120 for different values of the KPI (e.g., the label) along with metrics that quantify the quality of each segment, such as lift, precision, and recall. The user segments may be displayed in decreasing order of the metrics.)
Regarding Claims 3, 24:
M.Y. teaches the inventions of claims 1, 22 as described.
M.Y. teaches identifying, by the evaluation engine, a user profile of the user, ([0050] An attribute collection module 204 is also employed to collect attributes 206 involving user interaction with digital content from user interaction data 116 (block 304). The user interaction data 116 is illustrated as maintained in a storage device 208 locally at the service provider system 102 but may also be maintained remotely via the network 108, in whole or in part. The attributes 206 describe user interaction of respective user IDs within the user interaction data 116 with respective digital content.) wherein the user is assigned to the segment based on the user profile. ([0051]-[0053] The attribute subset 212 is then passed as an input to a rule mining module 214. The rule mining module 214 is configured to generate a rule having a respective attribute and attribute value (block 310) and form the user segment 120 based on the rule (block 312).)
Regarding Claims 4, 25:
M.Y. teaches the inventions of claims 3, 24 as described.
M.Y. teaches wherein: the user profile includes dynamic event data that represents the interaction of the user and characteristic data (ie. respective user IDs) that does not depend on the dynamic data. ([0050] An attribute collection module 204 is also employed to collect attributes 206 involving user interaction with digital content from user interaction data 116 (block 304). The user interaction data 116 is illustrated as maintained in a storage device 208 locally at the service provider system 102 but may also be maintained remotely via the network 108, in whole or in part. The attributes 206 describe user interaction of respective user IDs within the user interaction data 116 with respective digital content.)
Regarding Claims 5, 26:
M.Y. teaches the inventions of claims 1, 22 as described.
M.Y. teaches identifying, by the evaluation engine, a user profile for the user, wherein the segmentation rule is evaluated based on the user profile. ([0050] An attribute collection module 204 is also employed to collect attributes 206 involving user interaction with digital content from user interaction data 116 (block 304). The user interaction data 116 is illustrated as maintained in a storage device 208 locally at the service provider system 102 but may also be maintained remotely via the network 108, in whole or in part. The attributes 206 describe user interaction of respective user IDs within the user interaction data 116 with respective digital content.) wherein the user is assigned to the segment based on the user profile. ([0051]-[0053] The attribute subset 212 is then passed as an input to a rule mining module 214. The rule mining module 214 is configured to generate a rule having a respective attribute and attribute value (block 310) and form the user segment 120 based on the rule (block 312).)
Regarding Claims 6, 27:
M.Y. teaches the inventions of claims 1, 22 as described.
M.Y. teaches storing, by the state manager, the event ([0021][0050] user interaction data/event) in an event database; ([0050] An attribute collection module 204 is also employed to collect attributes 206 involving user interaction with digital content from user interaction data 116 (block 304). The user interaction data 116 is illustrated as maintained in a storage device 208 locally at the service provider system 102 but may also be maintained remotely via the network 108, in whole or in part.)
evaluating, by the evaluation engine, the segmentation rule based on a plurality of events in the event database including the stored event; ([0050] The attributes 206 describe user interaction of respective user IDs within the user interaction data 116 with respective digital content. The attributes 206, for instance, may describe demographics of a user ID associated with the user interaction, features of digital content 112 that is a subject of the interaction, how that interaction occurred.)
and assigning, by the evaluation engine, the user to the segment based on the evaluation of the segmentation rule based on the plurality of events. ([0030] "Attributes" describe user interaction of respective user IDs within user interaction data with respective digital content. "User segments" are defined using attributes.)
Regarding Claims 7, 28:
M.Y. teaches the inventions of claims 1, 22 as described.
M.Y. teaches identifying, by the evaluation engine, an event type of the event; ([0050] The attributes 206 describe user interaction of respective user IDs within the user interaction data 116 with respective digital content. The attributes 206, for instance, may describe demographics of a user ID associated with the user interaction, features of digital content 112 that is a subject of the interaction, how that interaction occurred, and so on.)
and evaluating, by the evaluation engine, the segmentation rule based on the event type. ([0030] "Attributes" describe user interaction of respective user IDs within user interaction data with respective digital content. "User segments" are defined using attributes.)
Regarding Claims 8, 29:
M.Y. teaches the inventions of claims 1, 22 as described.
M.Y. teaches removing, by the state manager, irrelevant data from the rule state based on the time stamp to obtain a clean rule state, wherein the rule state is updated based on the clean rule state. ([0042] A key performance indicator (KPI) segmentation module 128 is employed to generate user segments 120 automatically and without user intervention and a segment summarization module 130 which may then be used summarize the generated user segments to remove overlaps.)
Regarding Claim 21:
M.Y. teaches the invention of claim 1 as described.
M.Y. teaches further comprising: updating, by the state manager, the rule state. ([0058] A representation is then output by the KPI segmentation module 128 of the user segment 120 in a user interface that identifies the respect attribute and the attribute value (block 314), an example user interface 600 is shown in FIG. 6. The user interface 600, for instance, may display user segments 120 for different values of the KPI (e.g., the label) along with metrics that quantify the quality of each segment, such as lift, precision, and recall. The user segments may be displayed in decreasing order of the metrics.)
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.
Claim(s) 9 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 2021/0142256 Al (M.Y.) in view of US 10,242,019 B1 (Shan).
Regarding Claim 9:
M.Y. teaches the invention of claim 1 as described.
M.Y. teaches on generating subsets of user segments ([0025]). However, M.Y. is silent on compressing, by the state manager, the rule state to obtain a compressed rule state.
Shan teaches, in the same field of endeavor, on machine learning features for dynamically determining an optimal compression as well as identifying targeted users and providing content to the targeted users based on the compressed data, Abstract.
Shan teaches compressing, by the state manager, the rule state to obtain a compressed rule state. (Col 2 ln 48-59, The method also includes generating, for the first user, first compressed event data using the event records associated with the first user. The first compressed event data associated with the first user is stored using a second quantity of storage that is less than the first quantity of storage for storing the event records of the first user. The method also includes assigning each user to one of the data clusters included in a clustering model using respective first compressed event data for the user.)
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention, to modify M.Y. per Shan to include compressing, by the state manager, the rule state to obtain a compressed rule state. This would have been advantageous as discussed above, as it would allow the modified system to provide storing of data in a more efficient manner (requiring less space), see Shan, Col 2 ln 48-59.
Claim(s) 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 2021/0142256 Al (M.Y.) in view of US 2022/0245115 Al (Kulkarni).
Regarding Claim 20:
M.Y. teaches the invention of claim 19 as described.
M.Y. teaches on generating subsets of user segments ([0025]) and storage of user interaction data ([0050]). However, M.Y. is silent on wherein: the state manager is further configured to identify a query rule state for a query rule for retrieving records in a database and to update the query rule state for the query rule; and the apparatus further comprises a query engine configured to receive a query corresponding to the query rule and to retrieve a record from the database by evaluating the query rule based on the query rule state in response to the query.
Kulkarni teaches, in the same field of endeavor, Systems and methods are described for customizable data streams in a streaming data processing system, Abstract.
Kulkarni also teaches wherein: the state manager is further configured to identify a query rule state (ie. applicability) for a query rule for retrieving records in a database and to update the query rule state for the query rule; ([0359] On receiving a message, the streaming data processors 308, at (4), analyze the message to determine one or more rules applicable to the message. [0360] On determining that a rule is applicable to the message, the streaming data processors 308 can apply to the message one or more processing sub-rules indicated within the rule. Processing sub-rules may include modifying data or metadata of the message. Illustratively, processing sub-rules may edit or normalize data of the message ( e.g., to convert a format of the data) or inject additional information into the message ( e.g., retrieved based on the data of the message).)
and the apparatus further comprises a query engine configured to receive a query corresponding to the query rule and to retrieve a record from the database by evaluating the query rule based on the query rule state in response to the query. ([0367] The rules applied by the streaming data processors 308 may vary during operation of those processors 308. For example, the rules may be updated as user queries are received (e.g., to identify messages whose data is relevant to those queries). In some instances, rules of the streaming data processors 308 may be altered during the processing of a message, and thus the interactions of FIG. 6 may be altered dynamically during operation of the streaming data processors 308.)
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention, to modify M.Y. per Kulkarni to include wherein: the state manager is further configured to identify a query rule state for a query rule for retrieving records in a database and to update the query rule state for the query rule; and the apparatus further comprises a query engine configured to receive a query corresponding to the query rule and to retrieve a record from the database by evaluating the query rule based on the query rule state in response to the query. This would have been advantageous as discussed above, as it would allow the modified system to provide relevant up-to-date rules based on messages/queries that are received, see Kulkarni [0367].
Conclusion & Contact Information
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 RACHEL J HACKENBERG whose telephone number is (571)272-5417. The examiner can normally be reached 9am-5pm M-F.
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, Glenton B Burgess can be reached on (571)272-3949. 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.
/RACHEL J HACKENBERG/Primary Examiner, Art Unit 2454