Prosecution Insights
Last updated: October 02, 2026
Application No. 18/509,115

DATA INTEGRITY DETECTION

Non-Final OA §101§103§112
Filed
Nov 14, 2023
Examiner
ALSHACK, OSMAN M
Art Unit
2112
Tech Center
2100 — Computer Architecture & Software
Assignee
Qualcomm Incorporated
OA Round
2 (Non-Final)
86%
Grant Probability
Favorable
2-3
OA Rounds
0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 86% — above average
86%
Career Allowance Rate
461 granted / 534 resolved
+31.3% vs TC avg
Moderate +15% lift
Without
With
+14.7%
Interview Lift
resolved cases with interview
Typical timeline
2y 4m
Avg Prosecution
29 currently pending
Career history
561
Total Applications
across all art units

Statute-Specific Performance

§101
16.4%
-23.6% vs TC avg
§103
48.6%
+8.6% vs TC avg
§102
7.2%
-32.8% vs TC avg
§112
18.5%
-21.5% vs TC avg
Black line = Tech Center average estimate • Based on career data from 534 resolved cases

Office Action

§101 §103 §112
DETAILED ACTION Notice of Pre-AIA or AIA Status 1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Status of Claims 2. Claims 7-30 are presented for examination. Claims 1-6 are nonelected. The applicants are requested to cancel the non-elected claims 1-6 in subsequent communication. Specification 3. The objection of the specification is withdrawn in view of applicant's amendments/remarks. Claim Interpretation 4. Since no arguments received regarding to 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, 6th paragraph. The Examiner maintains the interpretation that claims 23-25, 29, and 30 invoke 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, 6th paragraph. Claim Rejections - 35 USC § 112 5. The rejection of claims 7-30 under 35 U.S.C. § 112, second paragraph, is withdrawn in view of applicant's amendments/remarks. Response to Arguments 6. Applicant’s argument filed on 07/09/2026 with respect claims 7-30 have been fully considered but they are not persuasive. The applicant contends that cited references fail to teach or suggest the limitation of " wherein the canary memory access is detected by the meta data index pointing outside a valid meta data index range." As recited in claim 3, 23, and 29. The Examiner respectfully disagrees and asserts the reference of Lee in paragraphs [0035]-[0037], [0047], and [0109] teaches the such limitation. For example, [0035] in some embodiments, the system 10 may allocate a value input from the outside to the stack 122 of the task. If the value input from the outside exceeds a capacity permitted to the stack 122 of the task, buffer overflow may occur. In this case, the return address region included in the stack 122 of the task may be modified due to the buffer overflow. For example, a hacker may intentionally push, to a buffer of the task, a dummy value, exceeding a capacity permitted to the buffer of the task, and a return address of malicious code. The return address region modified due to the buffer overflow may be a region in which an address value of the malicious code intentionally pushed by the hacker returns. Therefore, the task may perform a wrong operation due to the malicious code, and accordingly, a program and/or the system 10 may be damaged. See paragraph [0035]. To prevent the program from being damaged due to buffer overflow, the stack 122 may include a canary value. The canary value may be referred to as a canary or a stack check guard value. A detailed description of the canary value is made below with reference to FIGS. 2A, 2B, and 3. According to various embodiments described herein, setting and/or updating the canary value is used to improve the reliability of the system and the memory technology, and to improve operation of a device that includes a processor and memory by improving the security and protecting against malicious attacks. See paragraph [00376]. The memory 120 may store the canary array 121. The canary array 121 may include a plurality of values, which may be set as a canary value of a task. According to some embodiments, the processor 110 may update canary values of tasks based on elements included in the canary array 121. A memory address allocated to the canary array 121 may be virtualized and managed by a memory management unit (MMU). Therefore, a situation that the canary array 121 is exposed to the outside or a situation that a value in the canary array 121 is changed due to an unintentional operation or an external attack may be prevented. A detailed description of the MMU is made below with reference to FIG. 9, and a detailed description of the canary array 121 is made below with reference to FIGS. 7 to 10. See paragraph [0037]. As described above, when an external input value is provided to the task to update a value recorded in the local variable region 311 and the first and second buffer regions 312 and 313 to another value, the task stack 310 may be updated in the direction {circle around (2)} from the low address to the high address. Therefore, when the return address region 315 of the stack is modified due to buffer overflow, the canary value 314 is also modified. The processor may check whether there has been a buffer overflow attack, by checking the canary value 314 before returning to a region indicated by a return address. In other words, the processor may compare the canary value 314 to the reference canary value 320 before executing another task or code corresponding to an address stored in the return address region 315. The processor may determine whether the canary value 314 is true, through this comparison. If the canary value 314 is different from the reference canary value 320, the processor may determine that buffer overflow has occurred in a system. If it is determined that buffer overflow has occurred in the system, the processor may protect the system by forcibly terminating the system, the task, or the program, or by aborting execution of malicious code. Therefore, the security of the system may be reinforced by inserting the canary value 314 into the task stack 310. See paragraph [0047]. The processor 910 may access the memory 920 to process a task. In this case, the processor 910 may transmit a VA to the MMU 930, and the MMU 930 may access a region indicated by a PA of the memory 920 corresponding to the VA, based on information included in the mapping table 931. See paragraph [0109]. As been described above, it’s clear that Lee teaches wherein the canary memory access is detected by the meta data index pointing outside a valid meta data index range. Claim Interpretation The following is a quotation of 35 U.S.C. 112(f):(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph: An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. 7. Use of the word “means” (or “step for”) in a claim with functional language creates a rebuttable presumption that the claim element is to be treated in accordance with 35 U.S.C. 112(f) (pre-AIA 35 U.S.C. 112, sixth paragraph). The presumption that 35 U.S.C. 112(f) (pre-AIA 35 U.S.C. 112, sixth paragraph) is invoked is rebutted when the function is recited with sufficient structure, material, or acts within the claim itself to entirely perform the recited function. Absence of the word “means” (or “step for”) in a claim creates a rebuttable presumption that the claim element is not to be treated in accordance with 35 U.S.C. 112(f) (pre-AIA 35 U.S.C. 112, sixth paragraph). The presumption that 35 U.S.C. 112(f) (pre-AIA 35 U.S.C. 112, sixth paragraph) is not invoked is rebutted when the claim element recites function but fails to recite sufficiently definite structure, material or acts to perform that function. Claim elements in this application that use the word “means” (or “step for”) are presumed to invoke 35 U.S.C. 112(f) except as otherwise indicated in an Office action. Similarly, claim elements that do not use the word “means” (or “step for”) are presumed not to invoke 35 U.S.C. 112(f) except as otherwise indicated in an Office action. 8. Claim limitations of "means for inserting a canary into a meta data associated with a data in a compressed data sector; means for executing the software code with an inserted canary into the meta data; means for monitoring for a hardware exception due to a canary memory access; and means for declaring a real-time fault condition if the hardware exception is due to the canary memory access being detected during the executing the software code---; " as recited in claim 23 have been interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because they use a generic placeholder "means for" coupled with functional language without reciting sufficient structure to achieve the function. Furthermore, the generic placeholder is not preceded by a structural modifier. Since the claim limitation(s) invokes 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, claim(s) has/have been interpreted to cover the corresponding structure described in the specification that achieves the claimed function, and equivalents thereof. Therefore, claim elements in this application that use the word "means" (or "step for") and the aforementioned equivalents are presumed to invoke 35 U.S.C. 112(f). 9. Claim limitation of " means for executing a recovery procedure from the real-time fault condition---; " as recited in claim 24 has been interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because they use a generic placeholder "means for" coupled with functional language without reciting sufficient structure to achieve the function. Furthermore, the generic placeholder is not preceded by a structural modifier. Since the claim limitation(s) invokes 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, claim(s) has/have been interpreted to cover the corresponding structure described in the specification that achieves the claimed function, and equivalents thereof. Therefore, claim elements in this application that use the word "means" (or "step for") and the aforementioned equivalents are presumed to invoke 35 U.S.C. 112(f). 10. Claim limitation of "means for storing a compressed data in a compressed data sector of the main memory using the meta data index---; " as recited in claim 25 has been interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because they use a generic placeholder "means for" coupled with functional language without reciting sufficient structure to achieve the function. Furthermore, the generic placeholder is not preceded by a structural modifier. Since the claim limitation(s) invokes 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, claim(s) has/have been interpreted to cover the corresponding structure described in the specification that achieves the claimed function, and equivalents thereof. Therefore, claim elements in this application that use the word "means" (or "step for") and the aforementioned equivalents are presumed to invoke 35 U.S.C. 112(f). 11. Claim limitations of "A non-transitory computer-readable medium storing computer executable code, operable on a device comprising at least one processor and at least one memory coupled to the at least one processor, wherein the at least one processor is configured to implement data integrity detection, the computer executable code comprising: instructions for causing a computer to insert a canary into a meta data associated with a data in a compressed data sector; instructions for causing the computer to execute the software code with an inserted canary into the meta data; instructions for causing the computer to monitor for a hardware exception due to a canary memory access; and instructions for causing the computer to declare a real-time fault condition ---," as recited in claim 29 have been interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because they use a generic placeholder "instructions for" coupled with functional language without reciting sufficient structure to achieve the function. Furthermore, the generic placeholder is not preceded by a structural modifier. Since the claim limitation(s) invokes 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, claim(s) has/have been interpreted to cover the corresponding structure described in the specification that achieves the claimed function, and equivalents thereof. Therefore, claim elements in this application that use the word "means" (or "step for") and the aforementioned equivalents are presumed to invoke 35 U.S.C. 112(f). 12. Claim limitations of "instructions for causing the computer to execute a recovery procedure from the real-time fault condition; instructions for causing the computer to retrieve an original data from the main memory; instructions for causing the computer to send the original data to a compression module of a compression/decompression engine; instructions for causing the computer to execute data compression of the original data to generate a compressed data of a compressed size of M bits, wherein the original data has an original size of N bits such that N is greater than M; and instructions for causing the computer to store the compressed data in a compressed data sector of the main memory using the meta data index," as recited in claim 30 have been interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because they use a generic placeholder "instructions for" coupled with functional language without reciting sufficient structure to achieve the function. Furthermore, the generic placeholder is not preceded by a structural modifier. Since the claim limitation(s) invokes 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, claim(s) has/have been interpreted to cover the corresponding structure described in the specification that achieves the claimed function, and equivalents thereof. Therefore, claim elements in this application that use the word "means" (or "step for") and the aforementioned equivalents are presumed to invoke 35 U.S.C. 112(f). Applicant may: (a) Amend the claim so that the claim limitation will no longer be interpreted as a limitation under 35 U.S.C. 112 (f) (Pre-AIA 35 U.S.C. 112, sixth paragraph); or (b) Amend the written description of the specification such that it clearly links or associates the corresponding structure, material, or acts to the claimed function without introducing any new matter (35 U.S.C. 132(a)); or (c) State on the record where the corresponding structure, material, or acts are set forth in the written description of the specification and linked or associated to the claimed function. For more information, see 37 CFR 1.75(d) and MPEP §§ 608.01(o) and 2181. Claim Objections 13. Claims 7, 23, and 29 are objected to because of the following informalities: The claims recite “wherein the canary memory access is detected by the meta data index pointing outside a valid meta data index range.” The applicant states that the paragraphs [0040] and [0049][ support this limitation. Nothing in these paragraphs support canary memory access is detected by the meta data index pointing outside a valid meta data index range. For example, paragraph [0040] the canary may use an index or address label to detect the memory buffer overflow “not to detect the canary memory access” as the applicant alleged. In paragraph [0049], the inserted canary created at software build time with meta data index not in the valid meta data index range may be used to trigger a hardware exception 390 if the inserted canary is accessed. Nowhere in these paragraphs [0040] and [0049] does the applicant teach the feature of “wherein the canary memory access is detected by the meta data index pointing outside a valid meta data index range.” Emphasis added. Appropriate correction is required. Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION. The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. 14. Claims 7-30 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention. In regards to claim 1, the claim recites "declaring a real-time fault condition if the hardware exception is due to the canary memory access being detected during the executing the software code, wherein the canary memory access is detected by the meta data index pointing outside a valid meta data index range." This feature is ambiguous because it’s unclear in the claim how the canary memory access being detected? In other words, what is the detection for? Please clarify. Emphasis added. Other independent claims 23 and 29 recite similar limitations of claim 1. Therefore, are rejected for the same reason of claim 1. Dependent claims 8-22, 24-28, and 30 depend on the base claims and inherently include limitations therein and therefore are rejected under 35 USC 112, 2nd paragraph as well. 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. 15. Claims 7-30 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more because the generic data monitoring, comparing indices, and declaring a status or fault condition as a mental process or mathematical concept (an abstract idea). As per claim 1: At Step 1, is the claim directed to a processor, machine, manufacture or composition of matter? Yes, see MPEP 2106.03. The claim recites method for implementing data integrity detection or a series of steps and, therefore, is a process, and thus directed to a statutory category. At step 2A Prong One, Does the claim recite an abstract idea law of nature or natural phenomenon? Yes, see MPEP 2106.04. The claim recites “monitoring for a hardware exception due to a canary memory access; and declaring a real-time fault condition if the hardware exception is due to the canary memory access being detected during the executing the software code, wherein the canary memory access is detected by the meta data index pointing outside a valid meta data index range,” as drafted, is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the human mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. At step 2A Prong Two, Does the claim recite additional elements that integrate the judicial exception into a practical application? NO, see MPEP 2106.04(d). The claim recites additional element/s of “inserting a canary into a meta data associated with a data---, wherein the inserting uses ---; executing a software code with an inserted canary into the meta data” and do not integrate the abstract idea into a practical application because are generic computer function merely using a computer as a tool to perform an abstract idea, as discussed in MPEP 2106.05(f). At step 2B, Does the claim recite additional elements that amount to significantly more than judicial exception? NO, see MPEP 2106.05. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional element/s “compressed data sector,” “a meta data index” are generic components that are well understood, routine and conventional and do not result in the claim as a whole amounting to significantly more than the abstract idea. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. Therefore, the claim is not patent eligible. As per claim 23: At Step 1, is the claim directed to a processor, machine, manufacture or composition of matter? Yes, see MPEP 2106.03. The claim recites apparatus for data integrity detection and, therefore, is a machine/manufacture, and thus directed to a statutory category. At step 2A Prong One, Does the claim recite an abstract idea law of nature or natural phenomenon? Yes, see MPEP 2106.04. The claim recites “means for monitoring for a hardware exception due to a canary memory access; and means for declaring a real-time fault condition if the hardware exception is due to the canary memory access being detected during the executing the software code, wherein the canary memory access is detected by the meta data index pointing outside a valid meta data index range,” as drafted, is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the human mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. At step 2A Prong Two, Does the claim recite additional elements that integrate the judicial exception into a practical application? NO, see MPEP 2106.04(d). The claim recites additional element/s of “means for inserting a canary into a meta data associated with a data ---; means for executing a software code with an inserted canary into the meta data” and do not integrate the abstract idea into a practical application because are generic computer function merely using a computer as a tool to perform an abstract idea, as discussed in MPEP 2106.05(f). At step 2B, Does the claim recite additional elements that amount to significantly more than judicial exception? NO, see MPEP 2106.05. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional element/s “compressed data sector” is generic components that are well understood, routine and conventional and does not result in the claim as a whole amounting to significantly more than the abstract idea. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. Therefore, the claim is not patent eligible. As per claim 29: At Step 1, is the claim directed to a processor, machine, manufacture or composition of matter? Yes, see MPEP 2106.03. The claim recites a series of steps and, therefore, is a process, and thus directed to a statutory category. At step 2A Prong One, Does the claim recite an abstract idea law of nature or natural phenomenon? Yes, see MPEP 2106.04. The claim recites “monitor for a hardware exception due to a canary memory access; ---- and declare a real-time fault condition if the hardware exception is due to the canary memory access being detected during the executing the software code, wherein the canary memory access is detected by the meta data index pointing outside a valid meta data index range,” as drafted, is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the human mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. At step 2A Prong Two, Does the claim recite additional elements that integrate the judicial exception into a practical application? NO, see MPEP 2106.04(d). The claim recites additional element/s of “insert a canary into a meta data associated with a data in ---;instructions for causing the computer to execute a software code with an inserted canary into the meta data” and do not integrate the abstract idea into a practical application because are generic computer function merely using a computer as a tool to perform an abstract idea, as discussed in MPEP 2106.05(f). At step 2B, Does the claim recite additional elements that amount to significantly more than judicial exception? NO, see MPEP 2106.05. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional element/s “A non-transitory computer-readable medium,” “device,” “processor,” “memory,” and “compressed data sector” are generic components that are well understood, routine and conventional and do not result in the claim as a whole amounting to significantly more than the abstract idea. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. Therefore, the claim is not patent eligible. Dependent claims 7-22, 24-25, and 30 are extended elements of the abstract idea of the independent claims and the claims are abstract in nature falling withing Mental Processes. The dependent claims do not add any meaningful limits to the abstract idea to improve the technology or the computer component and fails to add significantly more than the abstracts idea. Therefore, the dependent claims are not patent eligible. 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. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. 16. Claims 7-10 and 12-29 are rejected under 35 U.S.C. 103 (a) as being unpatentable over Chen Hao et al. (CN 107908954 A) "herein after as Hao" in view of Lee (US 2024/0054250 A1) "herein after as Lee." As per claims 7, 23, and 29: Hao substantially teaches or discloses a method for implementing data integrity detection, the method comprising: inserting a canary into a meta data associated with a data in a compressed data sector (see page 1, herein inserts the canary, and compresses the address into a packed address set consisting of multiple byte arrays); executing the software code with an inserted canary into the meta data (see paragraph [0006], herein in GPU programming, the code on the GPU is generally called device code, and the functions executed are usually cal led kernel functions, also known as kernels); monitoring for a hardware exception due to a canary memory access (see paragraph [0012], herein a common canary technique involves inserting encrypted information before or after allocated memory. In this way, when the buffer overflows, the canary will be overwritten first before the return address is overwritten. By checking whether the value of canary has been modified, it can be determined whether an overflow attack has occurred. The clARMOR system, recently proposed by AMD researchers, is a memory detection tool on GPUs based on canary technology; and paragraph [0019, herein in order to detect memory overflow errors, the tool inserts canary at both ends of the user-allocated memory to detect memory overflow); and declaring a real-time fault condition if the hardware exception is due to the canary memory access being detected during the executing the software code (see paragraph [0046], herein Determine whether it has been marked. If it has been marked, it means that the memory block has been freed repeatedly. At this time, a double free attack is detected, an error message is output and the program stops running; and paragraphs [0110-0111], herein compare the value stored at the head canary location with the pre-value to determine whether a double free has occurred (the pre-value is calculated using the memory size, memory address, head canary key, and free key. If a double free is detected, stop the program and output an error message; otherwise, proceed to the next step); wherein the canary memory access is detected by the meta data index pointing outside a valid meta data index range (see paragraph [0035], herein, the system 10 may allocate a value input from the outside to the stack 122 of the task. If the value input from the outside exceeds a capacity permitted to the stack 122 of the task, buffer overflow may occur, and paragraphs [0036], [0037], [0047], and [0109]). Hao does not explicitly teach wherein the inserting uses a meta data index. However, Lee in the same the field of endeavor teaches wherein the inserting uses a meta data index (see paragraph [0037], herein the memory 120 may store the canary array 121. The canary array 121 may include a plurality of values, which may be set as a canary value of a task. According to some embodiments, the processor 110 may update canary values of tasks based on elements included in the canary array 121). Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the system of Hao with the teachings of Lee by including wherein the inserting uses a meta data index. This modification would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, because one of ordinary skill in the art would have recognized the inserting uses a meta data index would have improved the reliability of the system and the memory technology, and to improve operation of a device that includes a processor and memory by improving the security and protecting against malicious attacks (see paragraph [0036] of Lee). As per claims 8 and 24: Hao teaches that executing a recovery procedure from the real-time fault condition (see paragraph [0066], herein Obtain the saved head canary and tail canary based on the address, and verify the correctness of the head canary and tail canary If there is a problem, it indicates a memory overflow, outputs an error message, and stops the program from running). As per claim 9: Hao teaches that The method of claim 8, further comprising retrieving an original data from the main memory (see paragraph [0013], herein the memory overflow check of the clARMOR system is performed during the gap between the end of one kernel and the start of another. In this case, an attacker can complete the attack during this period, or even restore the data to its original state after the attack is completed, thereby avoiding detection) and sending the original data to a compression module of a compression/decompression engine (see paragraph [0025], herein the compressed address set consists of multiple byte arrays. Initialization is performed to allocate memory for the compressed address set before the user program and detector run). As per claim 10: Hao teaches that executing data compression of the original data to generate a compressed data of a compressed size of M bits (see paragraph [0025], herein the compressed address set consists of multiple byte arrays. Initialization is performed to allocate memory for the compressed address set before the user program and detector run. User programs use a compressed address set to store compressed Addresses). As per claims 12 and 25: Hao teaches that storing the compressed data in a compressed data sector of the main memory using the meta data index (see paragraph [0021], herein the system compresses memory addresses and uses a compressed address set instead of a linked list to store the compressed addresses; and paragraph [0041], herein Store the compressed address into the compressed address set: There are two key points in the process of storing it into the compressed address set). As per claim 13: Hao teaches that generating the inserted canary in the compressed data sector (see page 1, herein the user program allocates memory using the mallocN function, inserts the canary, and compresses the address into a packed address set consisting of multiple byte arrays; and paragraph [0033], herein the head canary and tail canary generated for each memory address are different, so even if the head canary and tail canary of one memory block are leaked, the other memory blocks are still safe). As per claims 14 and 26: Hao teaches that wherein the inserted canary is stored after the compressed data sector is dynamically allocated (see paragraph [0036], herein the compressed address consists of two parts: header and payload. The header occupies a fixed byte and is used to store the information needed during the decompression process. The payload is obtained by calculating the absolute value of the difference between the memory address and the reference address. The reference address refers to the address of the first block of dynamic memory allocated by the user program, which occupies different numbers of bytes depending on the size of the payload. During the header generation process). As per claim 15: Hao teaches that wherein the compressed data sector is dynamically allocated on a stack memory (see paragraph [0005], herein Attacking an application's heap memory at runtime can cause program crashes, data corruption, and various security problems. Recent research indicates that heap memory overflow vulnerabilities also exist on GPUs, and attackers can exploit this vulnerability to execute malicious GPU code). As per claim 16: Hao teaches that wherein the compressed data sector is dynamically allocated on a heap memory (see paragraph [0005], herein Attacking an application's heap memory at runtime can cause program crashes, data corruption, and various security problems. Recent research indicates that heap memory overflow vulnerabilities also exist on GPUs, and attackers can exploit this vulnerability to execute malicious GPU code). As per claim 17: Lee teaches that wherein the meta data index includes an invalid value (see paragraph [0054], herein a canary flag value of the certain task may be a first flag value). As per claim 18: Lee teaches that wherein the meta data index is outside a valid meta data index range (see paragraph [0047], herein the processor may determine whether the canary value 314 is true, through this comparison. If the canary value 314 is different from the reference canary value 320, the processor may determine that buffer overflow has occurred in a system. As per claim 19: Lee teaches that wherein the canary includes a canary virtual address (see paragraph [0037], herein A memory address allocated to the canary array 121 may be virtualized and managed by a memory management unit (MMU)). As per claim 20: Lee teaches that wherein the canary uses an address label which points outside a valid meta data index range for a compressed data area (see paragraph [0035], herein the system 10 may allocate a value input from the outside to the stack 122 of the task. If the value input from the outside exceeds a capacity permitted to the stack 122 of the task, buffer overflow may occur. In this case, the return address region included in the stack 122 of the task may be modified due to the buffer overflow). As per claims 21 and 28: Hao teaches that wherein the inserted canary is inserted at a location of a previously allocated memory area (see paragraph [0019], herein in order to detect memory overflow errors, the tool inserts canary at both ends of the user-allocated memory to detect memory overflow). As per claim 22: Hao teaches that wherein the meta data index includes a valid meta data index range for determining a memory buffer overflow (see paragraph [0012], herein A common canary technique involves inserting encrypted information before or after allocated memory. In this way, when the buffer overflows, the canary will be overwritten first before the return address is overwritten. By checking whether the value of canary has been modified, it can be determined whether an overflow attack has occurred). As per claim 27: Lee teaches that wherein the meta data index includes an invalid value (see paragraph [0054], herein a canary flag value of the certain task may be a first flag value), or wherein the meta data index is outside a valid meta data index range (see paragraph [0133], herein when a canary update fails, a canary value of a task may not be included in the canary array 121). 17. Claims 11 and 30 rejected under 35 U.S.C. 103 (a) as being unpatentable over Chen Hao et al. (CN 107908954 A) "herein after as Hao" in view of Lee (US 2024/0054250 A1) "herein after as Lee" in further view of Li et al. (US 20210200437 A1) “herein after as Li.” As per claim 11: Hao-Lee as combined does not explicitly teach wherein the original data has an original size of N bits such that N is greater than M. However, Li in the same the field of endeavor teaches wherein the original data has an original size of N bits such that N is greater than M (see paragraph [0058], if the sub-block is a basic block and a compressed data length of the sub-block is less than an original data length, the raw data buffer 1031 may invalidate original information of corresponding basic block buffered therein to release storage space). Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the system of Hao-Lee as combined with the teachings of Li by including the original data has an original size of N bits such that N is greater than M. This modification would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, because one of ordinary skill in the art would have recognized the original data has an original size of N bits such that N is greater than M would have improved data transportation efficiency and improving neural network performance (see paragraph [0049] of Li). As per claim 30: Hao teaches that instructions for causing the computer to execute a recovery procedure from the real-time fault condition (see paragraph [0066], herein Obtain the saved head canary and tail canary based on the address, and verify the correctness of the head canary and tail canary If there is a problem, it indicates a memory overflow, outputs an error message, and stops the program from running); instructions for causing the computer to retrieve an original data from the main memory (see paragraph [0013], herein the memory overflow check of the clARMOR system is performed during the gap between the end of one kernel and the start of another. In this case, an attacker can complete the attack during this period, or even restore the data to its original state after the attack is completed, thereby avoiding detection); instructions for causing the computer to send the original data to a compression module of a compression/decompression engine (see paragraph [0025], herein the compressed address set consists of multiple byte arrays. Initialization is performed to allocate memory for the compressed address set before the user program and detector run); instructions for causing the computer to execute data compression of the original data to generate a compressed data of a compressed size of M bits (see paragraph [0025], herein the compressed address set consists of multiple byte arrays. Initialization is performed to allocate memory for the compressed address set before the user program and detector run. User programs use a compressed address set to store compressed Addresses); and instructions for causing the computer to store the compressed data in a compressed data sector of the main memory using the meta data index (see paragraph [0021], herein the system compresses memory addresses and uses a compressed address set instead of a linked list to store the compressed addresses; and paragraph [0041], herein Store the compressed address into the compressed address set: There are two key points in the process of storing it into the compressed address set). Hao-Lee as combined does not explicitly teach wherein the original data has an original size of N bits such that N is greater than M. However, Li in the same the field of endeavor teaches wherein the original data has an original size of N bits such that N is greater than M (see paragraph [0058], herein if the sub-block is a basic block and a compressed data length of the sub-block is less than an original data length, the raw data buffer 1031 may invalidate original information of corresponding basic block buffered therein to release storage space). Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, to modify the system of Hao-Lee as combined with the teachings of Li by including the original data has an original size of N bits such that N is greater than M. This modification would have been obvious to one of ordinary skill in the art, before the effective filing date of the invention, because one of ordinary skill in the art would have recognized the original data has an original size of N bits such that N is greater than M would have improved data transportation efficiency and improving neural network performance (see paragraph [0049] of Li). Examiner Notes 18. When amending the claims, applicants are respectfully requested to indicate the portion(s) of the specification which dictate(s) the structure relied on for proper interpretation and also to verify and ascertain the metes and bounds of the claimed invention. Prior Art 19. The prior art of record, considered pertinent to the applicant’s disclosure, is listed in the attached PTO-892 form. Conclusion 20. Any inquiry concerning this communication or earlier communications from the examiner should be directed to OSMAN ALSHACK whose telephone number is (571)272-2069. The examiner can normally be reached on MON-FRI 8:30 AM-5:00 PM EST, also please fax interview request to (571) 273- 2069. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, ALBERT DECADY can be reached on 5712723819. 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. /OSMAN M ALSHACK/Examiner, Art Unit 2112
Read full office action

Prosecution Timeline

Nov 14, 2023
Application Filed
Apr 22, 2026
Non-Final Rejection mailed — §101, §103, §112
Jul 06, 2026
Applicant Interview (Telephonic)
Jul 06, 2026
Examiner Interview Summary
Jul 09, 2026
Response Filed
Sep 09, 2026
Non-Final Rejection mailed — §101, §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12748653
CORRECTION DATA DETERMINATION APPARATUS, CORRECTION DATA DETERMINATION METHOD, AND STORAGE MEDIUM
1y 10m to grant Granted Sep 29, 2026
Patent 12737662
Fault-Tolerant Post-Selection for Logical Qubit Preparation
2y 10m to grant Granted Sep 15, 2026
Patent 12737257
SYNDROME DECODING SYSTEM
1y 9m to grant Granted Sep 15, 2026
Patent 12724670
STORAGE SYSTEM ACCOMMODATING DIFFERING TYPES OF STORAGE
3y 1m to grant Granted Sep 01, 2026
Patent 12719505
ERROR CORRECTION CODE CIRCUIT AND SEMICONDUCTOR APPARATUS INCLUDING THE ERROR CORRECTION CODE CIRCUIT
1y 10m to grant Granted Aug 25, 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

2-3
Expected OA Rounds
86%
Grant Probability
99%
With Interview (+14.7%)
2y 4m (~0m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 534 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