Prosecution Insights
Last updated: May 04, 2026
Application No. 18/763,387

Differential Encoding For Time Series With Complex Payload

Non-Final OA §102§103
Filed
Jul 03, 2024
Priority
Jul 10, 2023 — provisional 63/525,821
Examiner
KIM, PAUL
Art Unit
2152
Tech Center
2100 — Computer Architecture & Software
Assignee
Dynatrace LLC
OA Round
1 (Non-Final)
73%
Grant Probability
Favorable
1-2
OA Rounds
1y 10m
Est. Remaining
93%
With Interview

Examiner Intelligence

Grants 73% — above average
73%
Career Allowance Rate
803 granted / 1098 resolved
+18.1% vs TC avg
Strong +20% interview lift
Without
With
+19.8%
Interview Lift
resolved cases with interview
Typical timeline
3y 8m
Avg Prosecution
18 currently pending
Career history
1116
Total Applications
across all art units

Statute-Specific Performance

§101
16.5%
-23.5% vs TC avg
§103
47.2%
+7.2% vs TC avg
§102
20.7%
-19.3% vs TC avg
§112
9.1%
-30.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 1098 resolved cases

Office Action

§102 §103
DETAILED ACTION This Office action is responsive to the following communication: Application filed on 3 July 2024. Claim(s) 1-20 is/are pending and present for examination. Claim(s) 1, 11, and 18 is/are in independent form. 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 . Information Disclosure Statement The information disclosure statement (IDS) submitted on 16 December 2024 and 25 March 2025 is/are being considered by the examiner. Drawings The drawings were received on 3 July 2024. These drawings are accepted. 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)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention. Claim(s) 1-11 and 13-16 is/are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Bley, USPGPUB No. 2006/0173878, filed on 12 January 2005, and published on 3 August 2006. As per independent claim 1, Bley teaches: A computer-implemented method for encoding monitored data in a distributed computing network, comprising: receiving, by a computer processor, two or more aggregation records in a sequence of aggregation records, each aggregation record represents measures of a performance metric and includes an observation count of the measurements represented by the aggregation record and at least two composite statistics for the performance metric, where the performance metric indicates performance of the computer network during a period of time {See Bley, [0032], wherein this reads over “The data structure of FIG. 4 stores data for a set of samples for multiple metrics during a period of time (e.g., one hour, one day, etc.). Note that for purposes of the data storage format of FIG. 4, an identification of the metric (e.g., 1,1), referred to as the metric ID, is a unique combination of both the Agent name and metric name. In header 300, the start time refers to the start time of the earliest sample and the stop time pertains to the end time of the latest sample. The period indicates the time between successful samples stored in the data structure. For example, FIG. 4 indicates a start time of 3:00 and an end time of 4:00:00 and an period of 15 seconds. Thus, the data structure in FIG. 4 includes an hours worth of data with a sample stored for every 15 seconds.”; and [0033], wherein this reads over “Within each block are a set of records. Each record stores Min, Value, Max, Count; which store information for the minimum value, the average value, the maximum value, and count for the particular period related to the sample.”}; constructing a data stream for the sequence of aggregation records, the data stream having a header section and a payload section {See Bley, [0032], wherein this reads over “The data structure of FIG. 4 includes header 300, a set of blocks 302, and footer 310.”}; and storing the data stream in a non-transitory memory, wherein, for each of the two or more aggregation records, extracting the observation count from a given aggregation record {See Bley, [0033], wherein this reads over “Within each block are a set of records. Each record stores Min, Value, Max, Count; which store information for the minimum value, the average value, the maximum value, and count for the particular period related to the sample.”} and, in response to the observation count being one {See Bley, [0039], wherein this reads over “In one embodiment, the system may want to further compress the data in situations where an entire record is all zeros (e.g., zero values for min, value, max and count). In one embodiment, in front of each record will be one bit to identify whether there is data for that record. If that one bit is a one, then there will be a record of data. If that first bit is a zero, then no record would follow because the data is all zeros.”}, processing the given aggregation record by deriving a measurement value for the performance metric from the given aggregation record {See Bley, [0033], wherein this reads over “Thus, the first item stored in each block is an identification of the metric, the metric ID. For example, the first block in FIG. 4 includes "1,1" which indicates that this is the metric for Agent 1, Metric 1. Within each block are a set of records. Each record stores Min, Value, Max, Count; which store information for the minimum value, the average value, the maximum value, and count for the particular period related to the sample.”}, compressing the measurement value for the performance metric using delta compression {See Bley, [0041], wherein this reads over “In other embodiments, compression schemes other than bit packing can be used, such as delta/difference encoding and other suitable compression schemes known in the art.”}, and compressing the observation count using delta compression {See Bley, [0041], wherein this reads over “In other embodiments, compression schemes other than bit packing can be used, such as delta/difference encoding and other suitable compression schemes known in the art.”}, and formatting the payload section of the data stream with the compressed observation count and the compressed measurement value for the performance metric but excluding the at least two composite statistics for the performance metric {See Bley, [0042], wherein this reads over “In another embodiment, the footer can store summary data of all the data within a particular query file, including the min, max, average and count for the entire query file. In some implementations, an average value for each metric can be stored in the footer.”}. As per dependent claim 2, Bley teaches: The method of claim 1 further comprises receiving a first aggregation record in the sequence of aggregation records, and storing the first aggregation record uncompressed in the payload section of the data stream {See Bley, [0042], wherein this reads over “In another embodiment, the footer can store summary data of all the data within a particular query file, including the min, max, average and count for the entire query file. In some implementations, an average value for each metric can be stored in the footer.”}. As per dependent claim 3, Bley teaches: The method of claim 1 further comprises, in response to the observation count being greater than one, processing the given aggregation record by compressing each of the at least two composite statistics using delta compression, compressing the observation count using delta compression, and formatting the payload section of the data stream with the compressed observation count and the compressed composite statistics {See Bley, [0059], wherein this reads over “The new count is the sum of all the counts read in step 814. The new average value is a weighted average of all the average values read in step 814. In step 818, the new record is written to the new query file. In step 820, it is determined whether there are more records in the block under consideration that need to be processed. If so, the method continues at step 814 and processes those additional records. If all the records in the block have been processed, then in step 822 it is determined whether there are any more blocks in the old query file to process. If there are more blocks to process in the old query file, then the method continues at step 824 and accesses the next block. The method then continues at step 810 and processes the next block in steps 810-822. If, in step 822, it is determined that there are no more blocks to process, then the footer is written in step 826. The footer will include the metric IDs, pointers to the blocks and lengths for each of the blocks. The footer information can be stored in memory as the various blocks are written to the new query file. Note that FIG. 14 provides one embodiment for down sampling. Other methods for down sampling or otherwise compressing the data can also be used. The present technology is not restricted to any one particular down sampling or compression method.”}. As per dependent claim 4, Bley teaches: The method of claim 1 wherein each aggregation record further includes a timestamp describing the period of time {See Bley, [0030], wherein this reads over “Consider, for example, a data sample that includes the following information: Agent name (4 bytes), metric name (4 bytes), start time (8 bytes), end time (8 bytes), minimum value (4 bytes), average value (4 bytes), maximum value (4 bytes), count (8 bytes)”; [0031], wherein this reads over “The start time indicates the start time of the period for which the data sample pertains to and the end time identifies the end of that period.”} and processing the given aggregation record further comprises compressing the timestamp in the given aggregation record using delta compression, and formatting the payload section of the data stream with the compressed timestamp {See Bley, [0040], wherein this reads over “In another embodiment, the data can be further compressed by not using an [x] field and a [y] field for each record. Instead, there will be one [x] field and one [y] field for twenty records. The values for the [x] field and the [y] field will apply to all of the associated twenty records.”}. As per dependent claim 5, Bley teaches: The method of claim 1 further comprises retrieving the data stream from the non-transitory memory {See Bley, [0028], wherein this reads over “Examples of the storage devices include RAM, ROM, hard disk drives, floppy disk drives, CD ROMS, DVDs, flash memory, etc.”: and [0059], wherein this reads over “The footer information can be stored in memory as the various blocks are written to the new query file.”}; processing the payload section of the data stream in sequence by decoding the compressed observation count and decoding data associated with the compressed observation count according to corresponding uncompressed observation count {See Bley, [0057], wherein this reads over “When Enterprise Manager 120 finds the metric ID in the footer, Enterprise Manager 120 will follow the pointer associated with that metric ID to the appropriate block. In step 710, the appropriate block will be read. Step 710 includes reading the various records of the block and, possibly, decompressing the records. In step 712, the data is processed based on the query and the results are returned to the entity seeking the data. One embodiment of step 712 includes decompressing the data. Other embodiments can include combining the data or identifying the particular substantive data requested by the query.”}. As per dependent claim 6, Bley teaches: The method of claim 1 wherein the at least two composite statistics include a minimum value for the performance metric during the period of time, a maximum value for the performance metric during the period of time, and at least one of an average of the measures during the period of time or a sum of the measures during the period of time {See Bley, [0033], wherein this reads over “Within each block are a set of records. Each record stores Min, Value, Max, Count; which store information for the minimum value, the average value, the maximum value, and count for the particular period related to the sample.”}. As per dependent claim 7, Bley teaches: The method of claim 6 further comprises, in response to the observation count being two, processing the given aggregation record by extracting a first measurement value for the performance metric from the minimum value, extracting a second measurement value for the performance metric from the maximum value, compressing the first measurement value and the second measurement value using delta compression, compressing the observation count using delta compression, and formatting the payload section of the data stream with the compressed observation count, the compressed first measurement value, and the second measurement value but excluding remainder of the at least two composite statistics for the performance metric {See Bley, [0059], wherein this reads over “The new count is the sum of all the counts read in step 814. The new average value is a weighted average of all the average values read in step 814. In step 818, the new record is written to the new query file. In step 820, it is determined whether there are more records in the block under consideration that need to be processed. If so, the method continues at step 814 and processes those additional records. If all the records in the block have been processed, then in step 822 it is determined whether there are any more blocks in the old query file to process. If there are more blocks to process in the old query file, then the method continues at step 824 and accesses the next block. The method then continues at step 810 and processes the next block in steps 810-822. If, in step 822, it is determined that there are no more blocks to process, then the footer is written in step 826. The footer will include the metric IDs, pointers to the blocks and lengths for each of the blocks. The footer information can be stored in memory as the various blocks are written to the new query file. Note that FIG. 14 provides one embodiment for down sampling. Other methods for down sampling or otherwise compressing the data can also be used. The present technology is not restricted to any one particular down sampling or compression method.”}. As per dependent claim 8, Bley teaches: The method of claim 6 further comprises, in response to the observation count being greater than two and the minimum value for the performance metric equals the maximum value for the performance metric, processing the given aggregation record by extracting a first measurement value for the performance metric from the minimum value, extracting a second measurement value for the performance metric from the maximum value, compressing the first measurement value and the second measurement value using delta compression, compressing the observation count using delta compression, and formatting the payload section of the data stream with the compressed observation count, the compressed first measurement value, and the second measurement value but excluding remainder of the at least two composite statistics for the performance metric {See Bley, [0059], wherein this reads over “The new count is the sum of all the counts read in step 814. The new average value is a weighted average of all the average values read in step 814. In step 818, the new record is written to the new query file. In step 820, it is determined whether there are more records in the block under consideration that need to be processed. If so, the method continues at step 814 and processes those additional records. If all the records in the block have been processed, then in step 822 it is determined whether there are any more blocks in the old query file to process. If there are more blocks to process in the old query file, then the method continues at step 824 and accesses the next block. The method then continues at step 810 and processes the next block in steps 810-822. If, in step 822, it is determined that there are no more blocks to process, then the footer is written in step 826. The footer will include the metric IDs, pointers to the blocks and lengths for each of the blocks. The footer information can be stored in memory as the various blocks are written to the new query file. Note that FIG. 14 provides one embodiment for down sampling. Other methods for down sampling or otherwise compressing the data can also be used. The present technology is not restricted to any one particular down sampling or compression method.”}. As per dependent claim 9, Bley teaches: The method of claim 1 wherein the at least two composite statistics includes a minimum value for the performance metric during the period of time {See Bley, [0033], wherein this reads over “Within each block are a set of records. Each record stores Min, Value, Max, Count; which store information for the minimum value, the average value, the maximum value, and count for the particular period related to the sample.”}, a maximum value for the performance metric during the period of time {See Bley, [0033], wherein this reads over “Within each block are a set of records. Each record stores Min, Value, Max, Count; which store information for the minimum value, the average value, the maximum value, and count for the particular period related to the sample.”}, a sum of the measures during the period of time, and a set of statistical moments for the performance metric {See Bley, [0059], wherein this reads over “In step 816, new min values, new max values, new average values, and new counts are determined. The new min value is the lowest value of all the min values read in step 814. The new max value is the maximum value for all the max values read in step 814. The new count is the sum of all the counts read in step 814. The new average value is a weighted average of all the average values read in step 814. In step 818, the new record is written to the new query file. In step 820, it is determined whether there are more records in the block under consideration that need to be processed.”}, and further comprises, in response to the observation count being three, processing the given aggregation record by extracting a first measurement value for the performance metric from the minimum value {See Bley, [0059], wherein this reads over “If there are more blocks to process in the old query file, then the method continues at step 824 and accesses the next block. The method then continues at step 810 and processes the next block in steps 810-822” and ““In step 816, new min values, new max values, new average values, and new counts are determined. The new min value is the lowest value of all the min values read in step 814. The new max value is the maximum value for all the max values read in step 814. The new count is the sum of all the counts read in step 814. The new average value is a weighted average of all the average values read in step 814. In step 818, the new record is written to the new query file. In step 820, it is determined whether there are more records in the block under consideration that need to be processed.”}, extracting a second measurement value for the performance metric from the maximum value {See Bley, [0059], wherein this reads over “If there are more blocks to process in the old query file, then the method continues at step 824 and accesses the next block. The method then continues at step 810 and processes the next block in steps 810-822” and ““In step 816, new min values, new max values, new average values, and new counts are determined. The new min value is the lowest value of all the min values read in step 814. The new max value is the maximum value for all the max values read in step 814. The new count is the sum of all the counts read in step 814. The new average value is a weighted average of all the average values read in step 814. In step 818, the new record is written to the new query file. In step 820, it is determined whether there are more records in the block under consideration that need to be processed.”}, extracting a third measurement value for the performance metric from the sum {See Bley, [0059], wherein this reads over “If there are more blocks to process in the old query file, then the method continues at step 824 and accesses the next block. The method then continues at step 810 and processes the next block in steps 810-822” and ““In step 816, new min values, new max values, new average values, and new counts are determined. The new min value is the lowest value of all the min values read in step 814. The new max value is the maximum value for all the max values read in step 814. The new count is the sum of all the counts read in step 814. The new average value is a weighted average of all the average values read in step 814. In step 818, the new record is written to the new query file. In step 820, it is determined whether there are more records in the block under consideration that need to be processed.”}, compressing the first measurement, the second measurement and the third measurement using delta compression {See Bley, [0059], wherein this reads over “If there are more blocks to process in the old query file, then the method continues at step 824 and accesses the next block. The method then continues at step 810 and processes the next block in steps 810-822” and ““In step 816, new min values, new max values, new average values, and new counts are determined. The new min value is the lowest value of all the min values read in step 814. The new max value is the maximum value for all the max values read in step 814. The new count is the sum of all the counts read in step 814. The new average value is a weighted average of all the average values read in step 814. In step 818, the new record is written to the new query file. In step 820, it is determined whether there are more records in the block under consideration that need to be processed.”}, and formatting the payload section of the data stream with the compressed first, second and third measurements but excluding the set of statistical moments {See Bley, [0059], wherein this reads over “The footer will include the metric IDs, pointers to the blocks and lengths for each of the blocks. The footer information can be stored in memory as the various blocks are written to the new query file. Note that FIG. 14 provides one embodiment for down sampling. Other methods for down sampling or otherwise compressing the data can also be used. The present technology is not restricted to any one particular down sampling or compression method.”}. As per dependent claim 10, Bley teaches: The method of claim 1 further comprises capturing measures of the performance metric using an agent instrumented in a software application executing on a computing device in the computing network {See Bley, [0028], wherein this reads over “The system running the managed application may also be part of a network, including a LAN, a WAN, the Internet, etc. In some embodiments, all or part of the invention is implemented in software that is stored on one or more processor readable storage devices and is used to program one or more processors.”}. As per independent claim 11, Bley teaches: A computer-implemented method for encoding monitored data in a distributed computing network, comprising: receiving, by a computer processor, two or more observation records in a sequence of observation records, each observation record represents measures of at least two performance metrics, where measurement value for one performance metric of the at least two performance metrics can be derived from measurement value for other performance metric of the at least two performance metrics {See Bley, [0032], wherein this reads over “The data structure of FIG. 4 stores data for a set of samples for multiple metrics during a period of time (e.g., one hour, one day, etc.). Note that for purposes of the data storage format of FIG. 4, an identification of the metric (e.g., 1,1), referred to as the metric ID, is a unique combination of both the Agent name and metric name. In header 300, the start time refers to the start time of the earliest sample and the stop time pertains to the end time of the latest sample. The period indicates the time between successful samples stored in the data structure. For example, FIG. 4 indicates a start time of 3:00 and an end time of 4:00:00 and an period of 15 seconds. Thus, the data structure in FIG. 4 includes an hours worth of data with a sample stored for every 15 seconds.”; and [0033], wherein this reads over “Within each block are a set of records. Each record stores Min, Value, Max, Count; which store information for the minimum value, the average value, the maximum value, and count for the particular period related to the sample.”}; constructing a data stream for the sequence of observation records, the data stream having a header section and a payload section {See Bley, [0032], wherein this reads over “The data structure of FIG. 4 includes header 300, a set of blocks 302, and footer 310.”}; and storing the data stream in a non-transitory memory, wherein, for each of the two or more observation records, processing a given observation record by compressing the measurement value for the one performance metric using delta compression {See Bley, [0041], wherein this reads over “In other embodiments, compression schemes other than bit packing can be used, such as delta/difference encoding and other suitable compression schemes known in the art.”}, and formatting the payload section of the data stream only with the compressed measurement value for the one performance metric {See Bley, [0042], wherein this reads over “In another embodiment, the footer can store summary data of all the data within a particular query file, including the min, max, average and count for the entire query file. In some implementations, an average value for each metric can be stored in the footer.”}. As per dependent claim 13, Bley teaches: The method of claim 11 further comprises retrieving the data stream from the non-transitory memory {See Bley, [0057], wherein this reads over “In step 704, Enterprise Manager 120 will jump to the footer of the query file. In step 706, Enterprise Manager 120 will read the various records in the footer of the query file, looking for the metric ID associated with the query. When Enterprise Manager 120 finds the metric ID in the footer, Enterprise Manager 120 will follow the pointer associated with that metric ID to the appropriate block. In step 710, the appropriate block will be read.”}; extracting the compressed measurement value for the one performance metric from the data stream {See Bley, [0057], wherein this reads over “Step 710 includes reading the various records of the block and, possibly, decompressing the records.”}; decompressing the compressed measurement value for the one performance metric {See Bley, [0057], wherein this reads over “Step 710 includes reading the various records of the block and, possibly, decompressing the records.”}; and deriving the measurement value for the other performance metric from the uncompressed measurement value for the one performance metric {See Bley, [0057], wherein this reads over “In step 712, the data is processed based on the query and the results are returned to the entity seeking the data. One embodiment of step 712 includes decompressing the data. Other embodiments can include combining the data or identifying the particular substantive data requested by the query”}. As per dependent claim 14, Bley teaches: The method of claim 11 further comprises, for each of the two or more observation records, formatting the payload section of the data stream with an indicator for the one performance metric, where the indicator is associated with the compressed measurement value for the one performance metric {See Bley, [0033], wherein this reads over “Thus, the first item stored in each block is an identification of the metric, the metric ID. For example, the first block in FIG. 4 includes "1,1" which indicates that this is the metric for Agent 1, Metric 1. Within each block are a set of records. Each record stores Min, Value, Max, Count; which store information for the minimum value, the average value, the maximum value, and count for the particular period related to the sample.”}. As per dependent claim 15, Bley teaches: The method of claim 14 further comprises retrieving the data stream from the non-transitory memory {See Bley, [0057], wherein this reads over “In step 704, Enterprise Manager 120 will jump to the footer of the query file. In step 706, Enterprise Manager 120 will read the various records in the footer of the query file, looking for the metric ID associated with the query. When Enterprise Manager 120 finds the metric ID in the footer, Enterprise Manager 120 will follow the pointer associated with that metric ID to the appropriate block. In step 710, the appropriate block will be read.”}; extracting the compressed measurement value for the one performance metric from the data stream {See Bley, [0057], wherein this reads over “Step 710 includes reading the various records of the block and, possibly, decompressing the records.”}; decompressing the compressed measurement value for the one performance metric {See Bley, [0057], wherein this reads over “Step 710 includes reading the various records of the block and, possibly, decompressing the records.”}; and applying the indicator on the uncompressed measurement value to derive the measurement value for the other performance metric from the uncompressed measurement value for the one performance metric {See Bley, [0057], wherein this reads over “In step 712, the data is processed based on the query and the results are returned to the entity seeking the data. One embodiment of step 712 includes decompressing the data. Other embodiments can include combining the data or identifying the particular substantive data requested by the query”}. As per dependent claim 16, Bley teaches: The method of claim 11 further comprises capturing measures of the at least two performance metrics using an agent instrumented in a software application executing on a computing device in the computing network {See Bley, [0028], wherein this reads over “The system running the managed application may also be part of a network, including a LAN, a WAN, the Internet, etc. In some embodiments, all or part of the invention is implemented in software that is stored on one or more processor readable storage devices and is used to program one or more processors.”}. 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) 12 is/are rejected under 35 U.S.C. 103 as being unpatentable over Bley, in view of Official Notice. As per dependent claim 12, the Examiner takes Official Notice that the claimed feature of “wherein the one performance metric is further defined as CPU usage percentage and the other performance metric is further defined as CPU idle percentage” would have been widely-known and obvious to one of ordinary skill in the art. That is, CPU usage percentage and CPU idle percentage metrics are well-known within the art of computer technology. It would have been obvious to one of ordinary skill in the art at the time of the effective filing date of the instant application to improve the prior art of Bley such that the performance metrics may further comprise the well-known feature of CPU usage percentage and CPU idle percentage metrics. One of ordinary skill in the art would have been motivated to make the aforementioned combination such that performance metrics such as CPU usage/idle percentages may be monitored and stored for evaluation. Allowable Subject Matter Claim(s) 17 is/are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. Claims 18-20 are allowed. The following is a statement of reasons for the indication of allowable subject matter: The prior art fails to disclose the claimed features of: “receiving, by a computer processor, a histogram record representing measures of a performance metric and the performance metric indicates performance of the computer network during a period of time, wherein the histogram record includes a plurality of histogram tuples such that each histogram tuple contains a bucket index value and a multiplicity value; applying a first compression variant to the histogram record by compressing the bucket index values of the plurality of histogram tuples using delta compression; applying a second compression variant to the histogram record by compressing the multiplicity values of the plurality of histogram tuples using delta compression; selecting one of the first compression variant or the second compression variant, where the selected compression variant requires less storage space; and forming a data stream from compressed data of the selected compression variant.” Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Cormode et al, USPGPUB No. 2011/0145223. Any inquiry concerning this communication or earlier communications from the examiner should be directed to PAUL KIM whose telephone number is (571)272-2737. The examiner can normally be reached Monday-Friday, 9AM-5PM. 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, Neveen Abel-Jalil can be reached on (571) 270-0474. 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. /Paul Kim/ Primary Examiner Art Unit 2152 /PK/
Read full office action

Prosecution Timeline

Jul 03, 2024
Application Filed
Apr 14, 2026
Non-Final Rejection — §102, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12615488
APPARATUS, METHOD, AND COMPUTER PROGRAM FOR ADJUSTING NOISE CONTROL PROCESSING
2y 1m to grant Granted Apr 28, 2026
Patent 12604129
TRUE WIRELESS DEVICE AND DUAL-MODE TRUE WIRELESS DEVICE
3y 4m to grant Granted Apr 14, 2026
Patent 12602445
QUERY COMPLETION BASED ON LOCATION
1y 12m to grant Granted Apr 14, 2026
Patent 12591563
USING PERSISTENT MEMORY AND REMOTE DIRECT MEMORY ACCESS TO REDUCE WRITE LATENCY FOR DATABASE LOGGING
5y 6m to grant Granted Mar 31, 2026
Patent 12587806
SYSTEMS FOR USING AN AURICULAR DEVICE CONFIGURED WITH AN INDICATOR AND BEAMFORMER FILTER UNIT
2y 1m to grant Granted Mar 24, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
73%
Grant Probability
93%
With Interview (+19.8%)
3y 8m (~1y 10m remaining)
Median Time to Grant
Low
PTA Risk
Based on 1098 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month