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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 10 April 2026 has been entered.
Introductory Remarks
In response to communications filed on 10 April 2026, claims 1-2, 8, and 15 are amended per Applicant's request. Claims 3, 10, and 17 are cancelled. No claims were withdrawn. No new claims were added. Therefore, claims 1-2, 4-9, 11-16, and 18-23 are presently pending in the application, of which claims 1, 8, and 15 are presented in independent form.
The previously raised double patenting rejection of the claims is maintained.
The previously raised 112 rejections of the pending claims is withdrawn in view of the amendments to the claims.
The previously raised 101 rejection of the pending claims is maintained.
The previously raised 103 rejection of the pending claims is withdrawn in view of the amendments to the claims. A new ground(s) of rejection has been issued.
Response to Arguments
Applicant’s arguments filed 10 April 2026 with respect to the Advisory Action comments (see Remarks, p. 11-12) have been fully considered but are not persuasive.
Applicant acknowledges that “implementation via functions or modules may be inherent in computer-based systems” but argues that “the present claims do not rely on the mere use of functions to distinguish over the cited references. Rather, the amended claims recite a specific architectural constraint governing data access and processing, which is neither taught nor suggested by the cited references…this architectural constraint provides a technical advantage by decoupling downstream communication generation from live profile database access, thereby enabling consistent data views and reducing dependency on the profile database during communication processing. The cited references neither recognize this problem nor suggest the claimed solution” (see Remarks, p. 11-12).
The idea as to how many functions are necessary for carrying out the claimed steps does not appear to be essential within the context of the claimed invention, as (1) the Specification itself only states “execution of code”, and (2) the focus of the claimed invention is on something entirely different than, e.g., programming practices, IDEs, etc., in which case the modularization / functions for carrying out the claimed steps becomes more tethered to the specific technological field.
In other words, the focus of the claimed steps is on carrying out a series of automated database updating steps, snapshotting, and transmitting communications. The functions are claimed only to state that the steps are carried out by certain computing instructions, e.g., in the form of functions.
This interpretation is supported by the Specification. Indeed, the Specification itself is non-specific and does not disclose that these steps are necessarily performed by different functions that would theoretically invoke the purported benefits that Applicant is claiming, e.g., “decoupling downstream communication generation from live profile database access…”.
The Specification only states, e.g., “execution of code”, not that they are distinct functions, but rather just “code” (and not even distinct code for that matter). See, e.g., Specification, [0013], [0027], [0029], [0031], [0042], and [0059].
As a result, this has also raised 112 issues, as there are no distinct “functions” for performing the disclosed steps in the particular manner that Applicant asserts.
Additionally, Applicant argues that “the distinction between the claimed invention and the cited references lies not in the use of functions, but in the specific architectural constraint governing how data is retrieved and used to generate communications” (see Remarks, p. 12). However, Applicant’s argument appears to imply that specific functions enable this “specific architectural constraint”, with unique steps. However, as the prior art still disclosed these unique steps, and because the prior art recites that functions/modules can be used to carry out the disclosed steps therefore discloses what is required by the claimed invention, which is that functions, a basic unit of code / tool in computer programming, are used carry out the disclosed steps.
Therefore, Applicant’s arguments are unpersuasive for at least the aforementioned reasons and those set forth in the 103 rejection below.
Applicant’s arguments filed 10 April 2026 with respect to the non-statutory double patenting rejection of the claims (see Remarks, p. 12-13) have been fully considered but are not persuasive. The claims are still subject to a non-statutory double patenting rejection, and Applicant has not filed a Terminal Disclaimer. Therefore, the non-statutory double patenting rejection has been maintained.
Applicant’s arguments filed 10 April 2026 with respect to the rejection of the claims under 35 U.S.C. 101 (see Remarks, p. 13-15) have been fully considered but are not persuasive.
Applicant’s argument with respect to the use of the snapshot (e.g., generating, storing, retrieving) “while expressly excluding retrieval of the profile record” in arguing the patent eligibility of the claims, e.g., “defin[ing] a specific technological architecture governing how the computing system processes stored data” (see Remarks, p. 14). Snapshotting is well-established in databases; see, e.g., cited prior art references Troshin, Khoyilar, Luo, Srinivasan and Raman in the 103 rejection below.
Applicant’s argument that the communication is transmitted “based on retrieving the snapshot record…and without retrieving the profile record from the profile database” (see Remarks, p. 14) is unpersuasive, as stating that information is based on snapshot data as opposed to profile data, e.g., by not retrieving profile information from the profile database, is simply an extended way of stating where the information comes from, which is an insignificant field-of-use limitation, describing the context rather than a particular manner of achieving the result.
Stating that there is a “specific technological architecture governing how the computing system processes stored data” in this particular context, merely states a narrower form of electronic recordkeeping, which is well-understood, routine, and conventional (e.g., stating that information is stored in different databases, as opposed to simply being stored in a database). However, there is nothing inventive in the manner in which data is being stored, rather than certain information is siloed/segregated in some form that does not impact the functioning of the computer in a manner that is not an improvement over the underlying technologies.
Furthermore, Applicant merely asserts that “These limitations cannot be performed mentally and do not merely recite managing human relationships, but instead recite specific computer operations involving multiple databases, stored records, and function execution” (see Remarks, p. 14) are not persuasive at least for the reasons already mentioned above (e.g., both with respect to the Advisory Action comments and the 101 rejection), and those set forth in the 101 rejection below.
Applicant’s arguments filed 10 April 2026 with respect to the rejection of the claims under 35 U.S.C. 103 (see Remarks, p. 15-17) have been fully considered but are not persuasive.
Applicant’s arguments are directed to the amended claim limitations. The Examiner respectfully disagrees with Applicant’s characterization of the prior art, as the prior art rejection has been modified below to conform with the newly amended claim language.
Additionally, Applicant’s arguments primarily center on each of the prior art references not disclosing various claimed limitations. However, the rejection was based on the combination of references; one cannot show nonobviousness by attacking the references individually when the rejection was based on the combination of references.
Therefore, in addition, Applicant’s argument, that “the proposed modification would change the principle of operation of TSENG” (see Remarks, p. 17) is unpersuasive, as it is well-known to utilize secondary copies (e.g., snapshots) in the reading of data, while maintaining primary (write) operations. See, e.g., Srinivasan and Raman below for further detail (in the footnotes). Thus, the principle of operation of Tseng does not change, simply where the information is retrieved changes, e.g., reading from snapshots instead of primary data. Thus, the combination of Tseng and Troshin disclosed the claimed limitations, e.g., as Troshin discloses reading information from snapshots.
Double Patenting
Claims 1-2, 4-9, 11-16, and 18-23 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-2, 5-9, 11-12, 15-16, and 18 of U.S. Patent No. 12,164,526 B1. Although the claims at issue are not identical, they are not patentably distinct from each other.
Claim 1 of U.S. Patent No. 12,164,526 B1 recites substantially overlapping subject matter as the claimed invention, which includes: “retrieve…event data relating to an event associated with a user and an entity, …;
cause, based on the event, a first record to be added in a first database, wherein the first record is based on the event data;
cause, responsive to addition of the first record in the first database, a second record to be added or updated in a second database, wherein the second record indicates a profile, associated with the user, that is based on an aggregation of data in one or more records, including the first record, relating to the user in the first database;
cause, responsive to addition or updating of the second record in the second database, a third record to be added in a third database, wherein the third record includes a snapshot of the profile associated with the user at a time after addition or updating of the second record;
evaluate, responsive to addition of the third record in the third database, the snapshot of the profile using one or more rules to identify a type of content to include in a communication for the user; and
cause transmission of the communication, including the type of content, for the user.”
Claim 1 of the present application recites the identification of a first event associated with a first user and a first entity, causing a record associated with the first event to be added to an event database; causing a profile record to be updated or added, and stored in a profile database based on the (event) record being added to the event database, the profile based on an aggregation of event data in a plurality of event records associated with a first user, including a first event and second event associated with the first user and the first entity; that a snapshot record, including a snapshot of the profile, is updated or added, and stored in a snapshot database (based on the profile record, i.e., “second record in the second database” of the issued patent, being updated or added), retrieving the snapshot record from the snapshot database and then causing a communication to be transmitted to the first user based on retrieving the snapshot from the snapshot database (without retrieving the profile record from the profile database) (a substantially broader form than the issued patent’s limitation of “evaluate…the snapshot of the profile using one or more rules to identify a type of content to include in a communication for the user; and cause transmission of the communication, including the type of content, for the user”).
Thus, Claim 1 represents, in some aspects, broader language than the issued patent (e.g., the issued patent issuing a communication based on a type of content, the present application’s independent claim being broader), while slightly narrower in other respects, e.g., with respect to a first event and second event, explicitly claiming the “retrieving” of a snapshot step (though this was implied in the issued patent’s “evaluat[ing]…the snapshot of the profile” step), as well as explicitly claiming that the communication is based on the snapshot “without retrieving the profile record from the profile database” (however, the present claims’ explicit claiming that the last step is performed “without retrieving the profile record from the profile database” is implicit in the issue patents’ independent claim, given that there is no mention of the profile database but only information retrieved from the snapshot when performing the last “cause transmission of the communication…for the user” step).
Claim 2 of the issued patent simply narrows its parent claim to be executed by code. Claim 1 of the present application, despite not explicitly reciting code, implicitly utilizes code to perform its actions (e.g., via the claims of “automatically causing” the computer to perform these steps).
Claim 5 of the issued patent recites “evaluate the snapshot of the profile using the one or more rules to determine whether the communication is to be transmitted to the user, and based on a determination that the communication is to be transmitted to the user, to identify the type of content to include in the communication”. Claim 4 of the present application similarly identifies one or more rules associated with more specific data, and causes the communication to be transmitted based on the one or more rules.
Claim 6 of the issued patent recites that the communication is an email message or a text message. Although the present application does not recite such specifics of the type of communication, claim 6 represents a slightly more narrow limitation that those already encompassed by claim 1 of the present application.
Claim 7 of the issued patent recites that “the one or more records relating to the user include the first record and at least one additional record added to the first database before the first record”. This is similar to claim 1 of the present application, in which the profile is based on “an aggregation of event data in a plurality of event records relating to a plurality of events associated with the first user, wherein the plurality of events includes the first event and a second event associated with the first user and the first entity”.
Claim 8 of the issued patent recites “perform[ing] the aggregation of the data in the one or more records in the first database to determine a preference of the user, wherein the profile indicates the preference.” Claim 1 of the present application recites “wherein the profile is based on an aggregation of event data in a plurality of event records”. Furthermore, claim 7 of the present application similarly recites “determining a preference of the first user according to the profile”.
With respect to claims 9 and 11 of the issued patent, and claim 8 of the present application, see the discussion of claim 1 above.
With respect to claim 12 of the issued patent, see the discussion of claim 2 (of the issued patent) above.
With respect to claims 15-16 of the issued patent, and claim 15 of the present application, see the discussion of claim 1 above.
With respect to claim 18 of the issued patent, see the discussion of claim 2 (of the issued patent) above.
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP §§ 706.02(I)(1) – 706.02(I)(3) for applications not subject to examination under the firs inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The filing date of the application will determine what form should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp.
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
Claims 1-2, 4-9, 11-16, and 18-23 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention.
Independent Claims 1, 8, and 15 recite “first function” and “second function” for executing the various claimed steps. However, the Specification only generically states “execution of code”, not that they are distinct functions (as argued by Applicant in arguments), but rather just “code” (not necessarily limiting to segregated, decoupled, modularized, etc., type of code). See, e.g., Specification, [0013], [0027], [0029], [0031], [0042], and [0059]. Therefore, the claims lack support for performing these disclosed steps using distinct functions. Thus, although functions are units of code, Applicant’s arguments in Remarks on p. 11-12 (with respect to the Advisory Action), indicate that the claimed decoupling of the steps into “first” and “second” functions provide some sort of additional benefit/improvement, therefore distinguishing from the prior art’s limitations of stating that the disclosed steps can be performed by functions. Applicant’s arguments thus indicate that the separation of the steps into distinct functions is somehow crucial to the functioning of the overall claimed invention. However, the Specification is silent on such specificity, rather only generically stating “execution of code”, without distinguishing that these are separate functions with the necessary decoupling/separation/modularization, as claimed.
The rest of the claims are rejected for at least by virtue of their dependency on their respective independent claims, and for failing to cure the deficiencies of their respective independent claims.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-2, 4-9, 11-16, and 18-23 are rejected under 35 U.S.C. 101 because the claims are directed to a judicial exception (i.e., an abstract idea) without significantly more.
Independent Claims 1, 8, and 15 recite identifying a new event; causing, a record, associated with the event, to be added to an event database; causing a profile record to be updated or added, and stored, to a profile database; causing, based on the profile record to be updated or added, a snapshot record, including a snapshot of the profile, to be stored in a snapshot database; and transmitting a communication to be transmitted to the user. This encompasses “managing personal behavior or relationships or interactions between people”, which falls under the “Certain methods of organizing human activity” grouping of abstract ideas.
Dependent Claims 4, 11, and 18 recite identifying one or more rules in the profile, wherein the communication is transmitted based on the one or more rules. The identification of the one or more rules in the profiles encompasses an observation, evaluation, and/or judgment, which falls under the “Mental processes” grouping of abstract ideas. Additionally, both these limitations encompass “managing personal behavior or relationships or interactions between people”, which falls under the “Certain methods of organizing human activity” grouping of abstract ideas.
Dependent Claims 5, 12, and 19 recite determining that the communication is to be transmitted (which encompasses an observation, evaluation, and/or judgment, which falls under the “Mental processes” grouping of abstract ideas”), and that the communication is transmitted based on determining that the communication is to be transmitted, both of which encompass “managing personal behavior or relationships or interactions between people”, which falls under the “Certain methods of organizing human activity” grouping of abstract ideas.
Dependent Claims 6, 13, and 20 recite identifying a type of content to be transmitted, and that the communication is transmitted based on the type of content to be transmitted. This encompasses an evaluation, observation and/or judgment (which falls under the “Mental processes” grouping of abstract ideas), as well as “managing personal behavior or relationships or interactions between people”, which falls under the “Certain methods of organizing human activity” grouping of abstract ideas.
Dependent Claims 7 and 14 recite determining a preference of the user according to the profile, wherein the communication is transmitted according to the preference. This encompasses an evaluation, observation and/or judgment (which falls under the “Mental processes” grouping of abstract ideas) (the determining step), as well as “managing personal behavior or relationships or interactions between people”, which falls under the “Certain methods of organizing human activity” grouping of abstract ideas.
Because the claims recite “Mental processes” as well as “Certain methods of organizing human activity”, the claims accordingly recite an abstract idea.
The claims do not recite additional elements that amount to significantly more than the judicial exception. The claimed computing elements are recited at a high level of generality and recited so generically that they represent no more than mere instructions to apply the judicial exception on a computer (see MPEP 2106.05(f)). These limitations can also be viewed as nothing more than an attempt to generally link the use of the judicial exception to the technological environment of a computer (see MPEP 2106.05(h)).
Furthermore, the use of databases (e.g., the event database, profile database, and snapshot database), and that automatic execution of functions cause steps of adding a record to the event database and storing the profile record in the profile database, and generating a snapshot record, do nothing more than attempt to link the claims to a particular technological environment—namely, implementation via a computer. However, these do nothing more than store the claimed information.
Additionally, independent Claims 1, 8, and 15 recite certain types of information that are involved, e.g., that the event is “associated with a user and an entity”, that the profile record indicates that a profile, associated with the user, is based on an aggregation of event data in one or more event records including the new event; that the profile database is associated with storing a plurality of profiles, including the profile, associated with a plurality of users including the user; and that the transmission of a communication to the user is “based on a (retrieved) snapshot record” and “without retrieving the profile record from the profile database”. Similarly, dependent Claims 2, 9, and 16 recite that the event database stores a plurality of event records and that the plurality of events includes a third event associated with the first user and a second entity. Dependent Claims 4, 11, and 18 recite that the one or more rules are “associated with at least one of: the first user, or a transaction type associated with the user and the entity” in the profile. Dependent Claims 5, 12, and 19 recite that the determination that the communication is to be transmitted is “based on the snapshot record”. Similar to claims 5, 12, and 19, dependent Claims 6, 13, and 20 recite that the identification of a type of content to be transmitted is “based on the snapshot record”, and that the communication is caused to be transmitted based on “the type of content” to be transmitted. Similar to claims 5-6, 12-13, and 19-20, dependent claims 7 and 14 recite that the type of information used to determine whether to transmit content is “based on the preference of the first user”. Similar to claims 2, 9, and 16, dependent claims 21-23 recite that the event database stores a third event record, different from the plurality of event records, relating to a third event associated with a second user. These do nothing more than provide the context rather than a particular manner of achieving the result, and thus amount to nothing more than insignificant field-of-use limitations.
The claims variously recite adding/updating data to databases (see, e.g., independent claims 1, 8, and 15), retrieving a snapshot record from the snapshot database (independent claims 1 8, and 15), and transmitting communications to the user (see, e.g., independent claims 1, 8, and 15; dependent claims 4-7, 11-14, and 18-20). These are insignificant extra-solution activities.
Accordingly, the claims are not integrated into a practical application of the idea.
The claims do not recite additional elements that amount to significantly more than the judicial exception.
As discussed above with respect to the integration of the abstract idea into a practical application, the additional elements of various computing hardware components, which amount to no more than mere instructions to apply the exception using generic computer components. Mere instructions to apply an exception using generic computer components cannot provide an inventive concept.
The claims reciting adding/updating data to databases and transmitting communications to the user are well-understood, routine, and conventional. See MPEP 2106.05(d)(II) (“Electronic recordkeeping” and “Storing and retrieving information in memory” with respect to the adding/updating of data to databases; “Receiving or transmitting data over a network, e.g., using the Internet to gather data” with respect to the transmitting of communications to a user).
Even as an ordered combination, the claimed elements do not add anything that is not already present when the steps are considered separately. The claims recite a series of abstract steps at a high level of generality, and reciting the generic factors that were involved in collecting, adding/updating, and storing data, as well as managing communications to users. See, e.g., Affinity Labs of Texas LLC v. DirecTV., 838 F.3d 1266 (Fed. Cir. 2016) at p. 7-8 (“At that level of generality, the claims do no more than describe a desired function or outcome, without providing any limiting detail that confines the claim to a particular solution to an identified problem. The purely functional nature of the claim confirms that it is directed to an abstract idea, not to a concrete embodiment of that idea”); and Elec. Power Grp., LLC v. Alstom S.A., 830 F.3d 1350 (Fed. Cir. 2016), slip op. 12 (“[The] essentially result-focused, functional character of claim language has been a frequent feature of claims held ineligible under § 101”).
Thus, despite the claims’ attempt to narrow the claims to particular types of information, such limitations do not move the claims outside the realm of abstract ideas. See, e.g., SAP America, Inc. v. InvestPic, LLC, 890 F.3d 1016, 126 USPQ2d 1638 (Fed. Cir. 2018) at p. 12) (finding that the claimed limitations attempting to narrow the claimed statistical methods to bootstrap, jackknife, and cross-validation were all particular methods of resampling, thus doing no more than simply providing further narrowing of what were still mathematical operations, and added nothing outside the abstract realm).
In other words, at this level of generality, the claims do no more than describe a desired function or outcome, and without providing any limiting detail that confines the claims to a particular solution to an identified problem. The purely functional nature of the claims confirm that they are directed to an abstract idea, not to a concrete embodiment of the idea.
A desired goal (i.e., result or effect), absent of structural or procedural means for achieving that goal, is an abstract idea. In this case, the claims are directed to an abstract idea for failing to describe how—by what particular process or structure—the goal is accomplished. Even with the additional elements, the claimed limitations fail to restrict how the goal is accomplished.
Thus, for at least the aforementioned reasons, the claims are rejected under 35 U.S.C. 101 for being directed to a judicial exception (i.e., an abstract idea) without significantly more.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-2, 4-9, 11-16, and 18-23 are rejected under 35 U.S.C. 103 as being unpatentable over Tseng (“Tseng”) (US 2012/0166530 A1), in view of Troshin et al. (“Troshin”) (US 2020/0125531 A1).
Regarding claim 1: Tseng teaches A method, comprising:
identifying a first event associated with a first user and a first entity; causing a record, associated with the first event, to be added to an event database (Tseng, [0036], where the action logger is capable of receiving communications from the web server 210 about user actions on and/or off the social networking system 130 (i.e., implying “identifying a new event associated with a user and an entity”), and populates action log 230 with information about user actions (i.e., “aggregation of event data in one or more event records”), allowing the social networking system 130 to track or monitor various actions taken by its users within the social networking system 130. Any action that a particular user takes with respect to another user is associated with each user’s profile, through information maintained in the action log 230 or in a similar database or other data repository (i.e., “event database”));
automatically executing, based on causing the record to be added to the event database, a first function configured to update or create a profile record, indicating a profile associated with the first user, and to store the profile record in a profile database, wherein the profile record is based on an aggregation of event data in a plurality of event records relating to a plurality of events associated with the first user, wherein the plurality of events includes the first event and a second event associated with the first user and the first entity (Tseng, [0031], where user profile store 240 includes a user’s interests or affinities, which may be explicitly specified in the user’s profile or interests inferred from the user’s activities in the social networking system, where the user profile store 240 includes logic1 for maintaining user information for users according to one or more categories (i.e., “automatically executing…a first function configured to update or create a profile record”). See, e.g., Tseng, [0084], where the user may make frequent posts about “coffee” or variants thereof (i.e., “wherein the plurality of events includes the first event and a second event associated with the first user and the first entity”) and upload content associated with “coffee”, resulting in the social networking system 130 determining that the user has an interest for coffee and updates the user’s profile with an indication of an interest in coffee.
See Tseng, [0030-0032], where the social networking system 130 stores user profiles describing the users of a social network (i.e., “a profile associated with the first user”) in a user profile store 240 (i.e., “store the profile record in a profile database”));
causing … a communication to be transmitted to the first user (Tseng, [0007], [0068-0071], and [0083], where the notifications are provided to users based on user-specified preferences, where the preferences describe when to provide the notifications, the type of notifications of interest, and/or the frequency in which to provide the notifications. See also, e.g., Tseng, [0031], where the user profile store 240 includes a user’s interests or affinities, as well as preferences, which may be explicitly specified in the user’s profile or interests inferred from the user’s activities in the social networking system, where the user profile store 240 includes logic for maintaining user information for users according to one or more categories, and can be used for determining what notifications to send to users (see also, e.g., Tseng, [0058-0061])).
Tseng does not appear to explicitly teach automatically executing, based on automatically executing the first function, a second function configured to generate a snapshot record, including a snapshot of the profile, and to store the snapshot record in a snapshot database; retrieving the snapshot record from the snapshot database; and [causing,] based on retrieving the snapshot record from the snapshot database and without retrieving the profile record from the profile database, [a communication to be transmitted to the first user].
Troshin teaches automatically executing, based on automatically executing the first function, a second function configured to generate a snapshot record, including a snapshot of the profile, and to store the snapshot record in a snapshot database (Troshin, [0027], where every time a value is detected, collected, computed, or configured (i.e., “based on automatically executing the first function”), a new snapshot may be created with the timestamp reflecting the time of update, where new snapshots are created when the reported value is different from the value in the last recorded snapshot (i.e., “automatically executing, based on automatically executing the first function, a second function configured to generate a snapshot record”). See Troshin, [0026], where a snapshot may be associated with an entity’s state at one point in time, which is associated with an entity and properties of the entity. See Troshin, [0025], where snapshot datastore 120 is a data repository where snapshots are stored and maintained (i.e., “snapshot database”). See Tseng, [0030-0031] above with respect to the data pertaining to user profiles and computing events involving creating/updating user profiles (i.e., “first function”));
retrieving the snapshot record from the snapshot database; and [causing,] based on retrieving the snapshot record from the snapshot database and without retrieving the profile record from the profile database, [a communication to be transmitted to the first user] (Troshin, [0019] and [0037], where the system queries the appropriate snapshot(s) for executing a query, e.g., the most recent time may be selected. The system then executes query requiring entity property values at a particular point in time as explicitly or implicitly specified by the query, and the server process executes the requested service and/or returns corresponding data (Troshin, [0076]). See Tseng, [0007], [0031], [0058-0061], [0068-0071], and [0083] above with regards to the “causing, based on retrieving [profile information], a communication to be transmitted to the user”).
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 the teachings of Tseng and Troshin (hereinafter “Tseng as modified”), as one of ordinary skill in the art would have recognized the challenges associated with maintaining and updating user information in response to user profile changes (as traditional systems often do not update information related to currently known users and/or require large amount of processing and/or data transmission to maintain real-time up-to-date user information).2 Therefore, one of ordinary skill in the art would have found it obvious to have incorporated Troshin’s snapshots with the motivation of ensuring that all read operations performed in a given transaction sees a consistent snapshot of the database, e.g., by reading a last set of committed values that existed when the read operation commenced.3
Furthermore, it would have been obvious to have substituted Tseng’s utilization of profile information stored in the profile database (with respect to notifications), with Troshin’s reading of retrieved records from snapshots, with the motivation of having read-only snapshots4 concurrent with read-write databases, which enables offloading read requests / query retrieval operations onto static copies for concurrent access instead of loading read requests all on the read-write database (i.e., the profile database)5, thereby reducing workload on the read-write (profile) database, as well as potentially improving the speed of servicing query retrieval requests.
Regarding claim 2: Tseng as modified teaches The method of claim 1, wherein the event database stores the plurality of event records, and wherein the plurality of events includes a third event associated with the first user and a second entity (Tseng, [0031-0032], [0089], and [0102], where users may “like” an article about a brand of shoes, as well as coffee, movies, etc. See also, more generally, Tseng, [0038], where multiple categories and user interests may correspond to the various events of different activities).
Regarding claim 4: Tseng as modified teaches The method of claim 1, further comprising:
identifying one or more rules in the profile, wherein the one or more rules are associated with at least one of: the first user, or a transaction type associated with the first user and the first entity, and wherein the communication is caused to be transmitted based on the one or more rules ((Tseng, [0058-0061], where after third-party content objects are received, they are assigned categories, locations, and delivery time ranges, where categories reflect various categories of interests of users, where categories may be associated with the interests themselves. A delivery time range is assigned to a content object, and relevance scores are assigned based on various factors, e.g., interest value, connection value, etc. From the relevance scores, the third-party content objects are ranked from highest relevance score to lowest, or by selecting of the highest relevance scored items. The system then provides the selected objects to the notification controller for serving to the user, or is directly served to the user as the next notification (i.e., “wherein the communication is transmitted based on…one or more rules”). See also Tseng, [0083], where an interest hierarchy indicates an ordering of interests by the user, where the user may provide the hierarchy when establishing or updating his profile (i.e., “one or more rules in the profile, wherein the one or more rules associated with at least one of: the first user”). See also Tseng, [0007], [0068-0069], and [0071], where the notifications are provided to users based on user-specified preferences, where the preferences describe when to provide the notifications, the type of notifications of interest, and/or the frequency in which to provide the notifications)).
Regarding claim 5: Tseng as modified teaches The method of claim 1, further comprising:
determining, based on the snapshot record, that the communication is to be transmitted, wherein the communication is caused to be transmitted based on determining that the communication is to be transmitted (Tseng, [0007], [0068-0071], and [0074-0076], where the notifications are provided to users based on user-specified preferences, e.g., via the user preference settings specified by the user associated with device 110, where the preferences describe when to provide the notifications, the type of notifications of interest, and/or the frequency in which to provide the notifications. See Troshin, [0019], where the system queries the appropriate snapshot(s) for executing a query, e.g., the most recent time may be selected (i.e., “based on the snapshot record”)).
Regarding claim 6: Tseng as modified teaches The method of claim 1, further comprising:
identifying, based on the snapshot record, a type of content to be transmitted, wherein the communication is caused to be transmitted based on the type of content to be transmitted (Tseng, [0032] and [0083-0084], where the user profile store 240 includes logic for maintaining interest information for users according to one or more categories, which are explicitly or implicitly indicated. Interest is used to determine what type of notifications of interest to send to users (Tseng, [0007]). See Troshin, [0019], where the system queries the appropriate snapshot(s) for executing a query, e.g., the most recent time may be selected (i.e., “based on the snapshot record”). See also Tseng, [0007], [0068-0069], and [0071], where the notifications are provided to users based on user-specified preferences, where the preferences describe when to provide the notifications, the type of notifications of interest, and/or the frequency in which to provide the notifications).
Regarding claim 7: Tseng as modified teaches The method of claim 1, further comprising:
determining a preference of the first user according to the profile, wherein the communication is caused to be transmitted based on the preference (Tseng, [0031], [0068-0071], and [0083], where user profile store 240 includes a user’s interests or affinities, which may be explicitly specified in the user’s profile or interests inferred from the user’s activities in the social networking system, where the user profile store 240 includes logic for maintaining user information for users according to one or more categories, and can be used for determining what notifications to send to users (see also, e.g., Tseng, [0058-0061]). See also Tseng, [0007] and [0083], where the notifications are provided to users based on user-specified preferences, where the preferences describe when to provide the notifications, the type of notifications of interest, and/or the frequency in which to provide the notifications).
Regarding claim 8: Claim 8 recites substantially the same claim limitations as claim 1, and is rejected for the same reasons.
Note that Tseng teaches A device, comprising: one or more memories; and one or more processors, coupled to the one or more memories, configured to [implement the claimed steps] (Tseng, [0148-0149], where the disclosed system may be implemented as a computing device reconfigured by a computer program stored in the computer, where such a computer program may be stored in a non-transitory, tangible computer readable storage medium or any type of media suitable for storing electronic instructions, and can be executed by a computer processor for performing the disclosed steps).
Regarding claim 9: Claim 9 recites substantially the same claim limitations as claim 2, and is rejected for the same reasons.
Regarding claim 11: Claim 11 recites substantially the same claim limitations as claim 4, and is rejected for the same reasons.
Regarding claim 12: Claim 12 recites substantially the same claim limitations as claim 5, and is rejected for the same reasons.
Regarding claim 13: Claim 13 recites substantially the same claim limitations as claim 6, and is rejected for the same reasons.
Regarding claim 14: Claim 14 recites substantially the same claim limitations as claim 7, and is rejected for the same reasons.
Regarding claim 15: Claim 15 recites substantially the same claim limitations as claim 1, and is rejected for the same reasons.
Note that Tseng teaches A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising: one or more instructions that, when executed by one or more processors of a device, cause the device to [implement the claimed steps] (Tseng, [0148-0149], where the disclosed system may be implemented with a computer program product comprising a non-transitory computer-readable medium containing computer program code comprising instructions that are executable by a processor for performing the disclosed steps).
Regarding claim 16: Claim 16 recites substantially the same claim limitations as claim 2, and is rejected for the same reasons.
Regarding claim 18: Claim 18 recites substantially the same claim limitations as claim 4, and is rejected for the same reasons.
Regarding claim 19: Claim 19 recites substantially the same claim limitations as claim 5, and is rejected for the same reasons.
Regarding claim 20: Claim 20 recites substantially the same claim limitations as claim 6, and is rejected for the same reasons.
Regarding claim 21: Tseng as modified teaches The method of claim 1, wherein the event database stores a third event record, different from the plurality of event records, relating to a third event associated with a second user (Tseng, [0082], where the social networking system identifies a second user that has a connection with the first user in the system, determining a common interest between the first and second user, and impute interests to the first user based on the interests of other users that are connected to the first user, e.g., inferring the first user’s interests from his or her friends. As there is imputation/inference being performed, this implies that there is “a third event associated with a second user” as claimed. See also, more generally, Tseng, [0038], where multiple categories and (multiple) user interests may correspond to the various events of different activities. See, e.g., Tseng, [0031] and [0036] in claim 1 above with respect to the “event record”).
Regarding claim 22: Claim 22 recites substantially the same claim limitations as claim 21, and is rejected for the same reasons.
Regarding claim 23: Claim 23 recites substantially the same claim limitations as claim 21, and is rejected for the same reasons.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure. See the enclosed 892 form. Srinivasan et al. (US 6,823,336 B1) and Raman et al. (US 2003/0217119 A1) are cited to show that it is common to offload read requests onto static, read-only copies of snapshots (see, e.g., Srinivasan et al., [Background] and Raman et al., [0049]), thus providing a motivation of, e.g., reducing the workload on a single computing entity and potentially improving the speed of servicing query retrieval requests.
The prior art should be considered to define the claims over the art of record.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to IRENE BAKER whose telephone number is (408)918-7601. The examiner can normally be reached M-F 8-5PM PT.
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, Boris Gorney can be reached at (571) 270-5626. 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.
/IRENE BAKER/Primary Examiner, Art Unit 2154
1 May 2026
1 See Tseng, [0147], where the disclosed operations are implemented by computer programs or equivalent electrical circuits, microcode, etc., where these operations may be referred to as modules, in which the described operations and their associated modules may be embodied in software, firmware, etc.
2 Khoyilar et al. US 12,001,419 B1 at [7:61-67]-[8:1-16].
3 Luo et al. US 2023/0055715 A1 at [0065].
4 See, e.g., Srinivasan et al. US 6,382,336 B1 at [Background] (“…it is conventional to permit only one host processor to have read-write access to the database, and to permit the other host processors to have read-only access to the database. For many applications, read-only access to the database must be restricted to consistent states of the database…There are various ways of restricting read-only access to consistent states of a database…. A typical way is to restrict read-only access to a snapshot copy of the database. The snapshot copy is updated at the end of each transaction…. The snapshot copy can be maintained by a data storage system that provides read-write access to the database and concurrent read-only access to the snapshot of the database…. The snapshot copy of the database can be updated very quickly at the conclusion of the transaction commit operation, so as to provide uninterrupted read-only access to consistent states of the database”).
5 See, e.g., Raman et al. US 2003/0217119 A1 at [0049] (“…it is desired to provide uninterrupted read-only access to remote copies of a consistent file system concurrent with read-write updating of the file system”).