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 .
DETAILED ACTION
This action is responsive to communications regarding the applicant’s amendments and arguments, filed on 2/19/2026.
Claims 1-20 are pending.
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 2/19/2026 has been entered.
Notice of Pre-AIA or AIA Status
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.
Response to Amendments and Arguments
Applicant's arguments with respect to claims 1-20 have been considered but are moot in view of the new ground(s) of rejection.
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.
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.
Claim(s) 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Patent Application Publication No. 20230385288 to Kulkarni et al. (hereinafter “Kulkarni”), and further in view of U.S. Patent Application Publication No. 20210165664 to Gould et al. (hereinafter “Gould”).
As to claim 1, Kulkarni teaches a system comprising (computer implemented method in a system comprising processor and non-transitory computer readable storage medium, par. 0141):
one or more computer processors (par. 0141);
one or more computer memories (par. 0141);
a set of instruction stored in the one or more computer memories, the set of instructions configuring the one or more computer processors to perform operations, the operations comprising (par. 0141):
receiving a stream of user-behavioral event data associated with a plurality of users (Fig. 21C, 22B, 23B, par. 136, 0148, 0156, 0167, 0178-0182, 0647, 0788-0792, receiving stream of event data associated with users. Examiner interpret user accessing network data as user-behavioral event data);
determining a set of event-based aggregations to be computed for the plurality of users based on the received stream of user-behavioral event data and a set of user-specified rules (par. 0135-0139, 0267, 0291, 0384, 0500, 0552, aggregations of data based on rules);
storing user information for the plurality of users in a state store of a cloud-managed database service that is external to and separately managed from a processing engine computing event-based aggregations (par. 0162, 0170, 0177, 0326, 0345, 0248, 0552, storing data in cloud-managed database service, i.e. “[0170] As mentioned and as will be described in greater detail below, the common storage 216 can be made up of one or more data stores 218 storing data that has been processed by the indexing system 212. The common storage 216 can be configured to provide high availability, highly resilient, low loss data storage. In some cases, to provide the high availability, highly resilient, low loss data storage, the common storage 216 can store multiple copies of the data in the same and different geographic locations and across different types of data stores (e.g., solid state, hard drive, tape, etc.). Further, as data is received at the common storage 216 it can be automatically replicated multiple times according to a replication factor to different data stores across the same and/or different geographic locations. In some embodiments, the common storage 216 can correspond to cloud storage, such as Amazon Simple Storage Service (S3) or Elastic Block Storage (EBS), Google Cloud Storage, Microsoft Azure Storage, etc.”);
dynamically scaling out computation of the determined set of event-based aggregations using the stored user information (par. 0180, 0212, 0224, 0258, 0335, 0728, scaling out computation);
computing the set of event-based aggregations for the plurality of users from the received stream of event data (par. 0135-0139, 0267, 0291, 0384, 0500, 0552, aggregations of data based on rules) using the dynamically scaled out computation (par. 0180, 0212, 0224, 0258, 0335, 0728, scaling out computation);
computing a top-level expression value for each user of the plurality of users by evaluating the computed event-based aggregations against the set of user-specified rules, wherein the top-level expression value represents a synthesized assessment (par. 0135-0139, 0267, 0291, 0384, 0500, 0552, aggregations of data based on rules) ; and
storing the computed event-based aggregations for the plurality of users in the state store, the stored top-level expression values facilitating subsequent user grouping based on the synthesized assessment (par. 0134-0138, 0552, 0548, 0567, 0634-0636, 0671, storing data and user late-biding schema for user to continue exploring data after data ingestion time).
Kulkarni does not explicitly teach wherein storing user information comprises storing all computation state for each individual user as a single co-located database record in the state store as claimed.
Gould teaches wherein storing user information comprises storing all computation state for each individual user as a single co-located database record in the state store (Fig. 15B-15E, par. 0219-0222, 0227-0230, computation state for each individual user as a single co-located database record in the state store, i.e. “[0221] The data processing system 1400 is configured to receive subscriber profile data 1414 from a subscriber data store 1410 based on the key value associated with or included in a received data item 566a. The subscriber profile data 1414 may include metadata, such as one or more attributes, describing the subscriber represented by the subscriber identifier. For example, the attributes of the subscriber profile data represent information that is used to segment the particular subscriber into a given subscriber segment. As previously described, the subscriber can be assigned to a segment including other subscribers that share an attribute (or a combination of attributes) with the particular subscriber. For example, an attribute can indicate that a subscriber has received a particular data resource, such as a document or networked resource, an offer, and so forth. An attribute can indicate that the subscriber has performed an action, such as consuming a threshold amount of mobile data, sending threshold number of SMS messages, activating a particular link, going to a particular location, and so forth. An attribute can indicate that the subscriber belongs to a particular demographic of subscribers. An attribute can indicate how many offers have been sent to a subscriber (e.g., in a given time window), how many offers the subscriber has accepted and/or rejected, what categories of offers have been sent and either accepted or rejected by the subscriber, and so forth. The attributes can include any similar data that can be used to group subscribers into segments.”)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teaching of Kulkarni with the teaching of Gould because they are in the same field of endeavor. One of ordinary skill in the art at the time of the invention would have been motivated to do so because the teaching of Gould would allow Kulkarni to “perform data integration and preparation for data record management in a simplified and accelerated manner. The described capabilities allow for collection, validation, formatting and further processing of both batch and real-time data streams (e.g., in real-time or in near real-time as the data is received, e.g., without storing the collected data to disk). Additionally, by having a single execution system that performs the operations of collection, detection and action, the execution system eliminates the complexities involved with integrating data into one system for data collection and then re-integrating that collected data into another system for performing detection and action. The capabilities described herein are able to provide an immediate response to data records or items (e.g., as they are received), which also provides for immediate visibility of application results. As the desired final actions usually depend on a fast processing of the data, the final actions, such as actions in logistics or telecommunications, greatly benefit from this faster processing of large amounts of data from various different sources yielding data of various different formats. The system described herein can processes over two billion data records or items per day for fifty million users. Contrary to common approaches, the system described herein provides for increased bandwidth and decreased memory consumption” (Gould, par. 0003-0004)
As to claim 2, combination of Kulkarni and Gould teaches the system of claim 1, wherein the set of event-based aggregations is determined based on a set of real-time computations defined for the plurality of users (par. 0130, 0167, 0179-0184, 0202, 0636, real-time computations).
As to claim 3, combination of Kulkarni and Gould teaches the system of claim 1, wherein scaling out computation of the set of event-based aggregations comprises provisioning additional compute resources from a cloud provider par. 0177-0180, 0212, 0224, 0258, 0335, 0728, scaling out computation on cloud-based service).
As to claim 4, combination of Kulkarni and Gould teaches the system of claim 1, further comprising optimizing the size of the stored user information by representing identifiers in the state store using compact integer representations (par. 0166, 0173, 0228, 0241, 0268-0270, plurality of identifiers using compact integer representations).
As to claim 5, combination of Kulkarni and Gould teaches the system of claim 4, wherein optimizing the size of the stored user information further comprises pruning unnecessary state information from the state store (par. 0249-0252, removing data from state store).
As to claim 6, combination of Kulkarni and Gould teaches the system of claim 1, wherein the stream of event data is partitioned into shards and computation of the set of event-based aggregations is distributed across the shards (par. 0216-0222, 0249-0252, partition event data into shards).
As to claim 7, combination of Kulkarni and Gould teaches the system of claim 1, further comprising exposing an interface allowing retrieval of the computed event-based aggregations (Fig. 24A-33B, par. 0653).
Regarding claims 8-14, are essentially the same as claims 1-7, except that it sets forth the claimed invention as methods rather than systems and rejected for the same reasons as applied hereinabove.
Regarding claims 15-20, are essentially the same as claims 1-6, except that it sets forth the claimed invention as non-transitory computer-readable storage medium rather than systems and rejected for the same reasons as applied hereinabove.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANHTAI V TRAN whose telephone number is (571)270-5129. The examiner can normally be reached on Monday through Thursday from 8:00 AM to 4:00 PM.
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, Charles Rones can be reached on (571)272-4085. 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.
/ANHTAI V TRAN/Primary Examiner, Art Unit 2168