Prosecution Insights
Last updated: April 19, 2026
Application No. 18/793,741

MEMORY ALLOCATING METHOD, ELECTRONIC DEVICE, AND STORAGE MEDIUM

Non-Final OA §103
Filed
Aug 02, 2024
Examiner
PHAM, KAITLYN HUNG
Art Unit
2133
Tech Center
2100 — Computer Architecture & Software
Assignee
BEIJING VOLCANO ENGINE TECHNOLOGY CO., LTD.
OA Round
3 (Non-Final)
100%
Grant Probability
Favorable
3-4
OA Rounds
1y 5m
To Grant
99%
With Interview

Examiner Intelligence

Grants 100% — above average
100%
Career Allow Rate
1 granted / 1 resolved
+45.0% vs TC avg
Strong +100% interview lift
Without
With
+100.0%
Interview Lift
resolved cases with interview
Fast prosecutor
1y 5m
Avg Prosecution
17 currently pending
Career history
18
Total Applications
across all art units

Statute-Specific Performance

§101
16.0%
-24.0% vs TC avg
§103
52.0%
+12.0% vs TC avg
§102
10.0%
-30.0% vs TC avg
§112
16.0%
-24.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 1 resolved cases

Office Action

§103
DETAILED ACTION Claims 1-20 are presented for examination. This office action is in response to request for continued examination of application on 2-FEB-2026. Claims 1-20 remain pending. Applicant’s amendments to the Claims have overcome each and every objection previously set forth in the Final Office Action mailed 6-NOV-2025. Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Continued Examination Under 37 CFR 1.114 A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 2-FEB-2026 has been entered. Response to Arguments Examiner notes that since no amendments or arguments were filed at the time of submitting the request for continued examination, this office action is responsive to the amendments/arguments filed in the after-final response, filed 23-DEC-2025. Applicant’s arguments, see pages 12-16, filed 23-DEC-2025, with respect to the objection to claim 16 have been fully considered and are persuasive due to amendments. The objection to claim 16 has been withdrawn. Applicant’s arguments, see pages 11-15, filed 23-DEC-2025, with respect to the rejections under 35 U.S.C. 103 have been fully considered and are persuasive due to amendments. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of previously applied prior art references. To more specifically address Applicant’s arguments, Examiner notes the following: 1. Regarding Applicant’s arguments regarding the newly amended limitations to claim 1, the new limitations are addressed in more detail in the updated rejection below. 2. Regarding Applicant’s argument that the Sun reference is directed to a different purpose from the claimed method, Examiner notes that a recitation of the intended use of the claimed invention must result in a structural difference between the claimed invention and the prior art in order to patentably distinguish the claimed invention from the prior art. If the prior art structure is capable of performing the intended use, then it meets the claim. In other words, the mere fact that the Sun reference is directed to a different purpose from the claimed method does not preclude the teachings of the Sun reference from being usable in an obviousness rejection. 3. Regarding Applicant’s arguments that the Sun reference does not teach “consecutively storing objects of a thread in a memory space allocated to the thread without storing metadata of the objects in the memory space”, Applicant’s arguments rely on language solely recited in preamble recitations in claim 1. When reading the preamble in the context of the entire claim, the recitation of “consecutively storing objects of a thread in a memory space allocated to the thread without storing metadata of the objects in the memory space” is not limiting because the body of the claim describes a complete invention and the language recited solely in the preamble does not provide any distinct definition of any of the claimed invention’s limitations. Thus, the preamble of the claim(s) is not considered a limitation and is of no significance to claim construction. See Pitney Bowes, Inc. v. Hewlett-Packard Co., 182 F.3d 1298, 1305, 51 USPQ2d 1161, 1165 (Fed. Cir. 1999). The whole preamble recites “A method for improving performance of consecutively storing objects of a thread in a memory space allocated to the thread without storing metadata of the objects in the memory space”. As stated in MPEP 2111.02(II), “If the body of a claim fully and intrinsically sets forth all of the limitations of the claimed invention, and the preamble merely states, for example, the purpose or intended use of the invention, rather than any distinct definition of any of the claimed invention’s limitations, then the preamble is not considered a limitation and is of no significance to claim construction. Shoes by Firebug LLC v. Stride Rite Children’s Grp., LLC, 962 F.3d 1362, 2020 USPQ2d 10701 (Fed. Cir. 2020)”. The full preamble merely describes the argued recitations as a process that the method improves performance of, and thus is merely intended use, and the process by which that improvement is gained is described fully in the body of the claim, including the consecutively storing objects of a thread in a memory space allocated to the thread (Claim 1, line 11) and without storing metadata of the objects in the memory space (Claim 1, lines 6-9; metadata is in the bitmaps, not memory space). Therefore, the preamble is not considered a limitation and is of no significance to claim construction. 4. Regarding Applicant’s arguments that the Sun reference does not teach particular limitations (configuring a first bitmap having a first mapping relationship with the first memory space allocated to the first thread, the first bitmap being specific to the first memory space allocated to the first thread, each of the plurality of bits corresponding to one of the memory blocks in the first memory space, and clearing the plurality of bits of the first bitmap to zero), and that the Nordquist and Doshi references also don’t teach the limitations, Examiner notes that as shown in the rejection below, the claim does not rely on Sun, Nordquist, or Doshi individually to teach limitations of the claim, but rather relies on a combination of Sun, Nordquist, and Doshi to teach the limitations. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-3, 5, 16-18, 20 are rejected under 35 U.S.C. 103 as being unpatentable over SUN, Chinese Publication Number CN112667152A (hereinafter “Sun”) in view of Nordquist, U.S. Patent No. 7533236 (hereinafter “Nordquist”) further in view of Doshi et al., U.S. Pub. No. 20080140968 (hereinafter “Doshi”). Regarding claim 1: Sun teaches A method for improving performance of consecutively storing objects of a thread in a memory space allocated to the thread without storing metadata of the objects in the memory space, comprising: the first memory space comprises memory blocks, and each of the memory blocks has a fixed size (Page 4, lines 20-27, Sun teaches that the memory space to be allocated to the heap is managed using a preset memory size as a unit. The allocation comprises units of memory of a preset size, which is interpreted to be the claimed memory space comprising memory blocks of a fixed size.) configuring a first bitmap having a first mapping relationship with the first memory space… wherein the first bitmap is specific to the first memory space… the first bitmap comprises a plurality of bits, and each of the plurality of the bits corresponds to one of the memory blocks in the first memory space; (Page 4, lines 10-20, Sun teaches an index bitmap that has a correspondence to a heap memory “establishing an index bitmap according to the size of a heap memory to be managed”. Furthermore, in Page 4, line 20, the preset memory size (interpreted as the claimed memory blocks) corresponds to one bit in the index bitmap.) clearing the plurality of bits of the first bitmap to an initial value (Page 6 lines 25-26, Sun teaches that when a bitmap is initialized, a first identifier is written into all values of the bitmap, with an example embodiment of initializing all bits of the bit array to 1 (initial value)) consecutively allocating memory in the first memory space according to a size of each request among the requests, wherein each allocation has a memory starting address in the first memory space (Page 4, lines 28-30, Sun teaches that to fulfill a new allocation request, the index bitmap is searched sequentially until the nearest adequate free space is found according to the requested size “according to the continuous bit lookup table, judging whether the continuous bit quantity of the target continuous bit with the value of the first identification in the current byte selected by the index bitmap meets the required continuous bit quantity, if so, acquiring the target continuous bit, and if not, performing the judgment on the next byte of the index bitmap until the target continuous bit meeting the required continuous bit quantity is found”. Furthermore, in Page 5 lines 16-17, Sun teaches that the equation for determining an allocation is relative to a starting address of the heap memory, in addition to the number of bits from it and the size of memory each bit represents. Since the allocations are relative to the starting address of the heap, and each bit is a known increment for the allocation, each bit of an allocated space is interpreted to correspond to the starting address of the space.) identifying a bit in the first bitmap corresponding to the memory starting address of each allocation in the first memory space based on the first mapping relationship; and (As discussed previously, each bit in the bitmap of Sun is interpreted to correspond to a memory starting address of each allocation in the first memory space based on the first mapping relationship. Further, on Page 5 line 40-41, Sun teaches that a bit in the bitmap corresponding to memory addresses is determined according to a lookup, which corresponds to the claimed identifying a bit in the first bitmap corresponding to the memory starting addresses based on the mapping relationship.) updating the first bitmap by switching a value of the identified bit corresponding to the memory starting address of each allocation from an initial value to a non-initial value based on consecutively allocating the memory in the first memory space, wherein the first bitmap stores information indicative of the memory starting address of each allocation in the first memory space from which metadata of each allocation is derived. (Page 5 lines 45-47, Sun teaches that as part of processing a memory allocation request, that the bit in the bitmap corresponding to the address of the requested memory allocation is marked using the second (non-initial) value. Given that upon initializing, the bits in the bitmap are given an initial value, the marking for the allocation is interpreted to be switching from an initial value to a non-initial value. Given that the bits in the bitmap are indicative of the start addresses of each allocation, this updated bitmap of Sun is interpreted to be the claimed updated first bitmap storing information indicative of memory start addresses of each allocation from which metadata of each allocation is derived.) While Sun discloses the use of memory heaps for allocating, Sun does not appear to explicitly disclose allocating a first memory space of a preset size to a first thread, bitmap values cleared to zero, storing objects associated with the first thread, or switching the value of at least one bit of the plurality of bits from zero to one However, Nordquist teaches allocating a first memory space of a first preset size to a first thread (Col. 3, lines 27-29, Nordquist teaches that fixed size portions of a memory pool are dynamically allocated to each processing thread.) Sun and Nordquist are analogous art because they are from the same field of endeavor, managing memory allocations. Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Sun and Nordquist, to achieve the combined result of a method which comprises allocating a first memory space of a preset size to a first thread, with the first memory space comprising memory blocks of a fixed size, which configures a first bitmap having a first mapping relationship with and is specific to the first memory space allocated to a first thread, the bitmap comprising a plurality of bits, wherein each bit corresponds to one of the memory blocks, where the plurality of bits of the first bitmap are set to an initial value, which creates the allocations consecutively according to a size of each of the requests, which updates the bitmap to indicate metadata associated with the allocations by switching the value of at least one bit in the bits from the initial value to a second value based on the at least one bit corresponding to the block that is associated with the memory address of the allocations. One of ordinary skill in the art would have been motivated to make this modification in order to apply the invention to a system which allocates memory to threads, to allow for greater thread parallelism, as discussed in Nordquist Col. 3, lines 29-31. While Sun teaches initializing all values of an index bitmap to 1, and marking used spaces with 0, the combination of Sun and Nordquist does not appear to explicitly disclose clearing all bits of the first bitmap to zero;, storing objects, switching at least one bit from zero to one However, Doshi teaches an initial value to zero ([0043], Doshi teaches that bits that do not point to an object boundary may all be 0s) Doshi further teaches storing objects ([0044], Doshi teaches that objects are stored in the memory block, which leads to the value setting in the bit vector, which in light of the previously discussed teachings of Sun and Nordquist, would be an obvious usage of the allocations, or part of the allocations taught by Sun.) Doshi further teaches updating the first bitmap by switching a value of the identified bit corresponding to the memory starting address of each object from zero to one (Fig. 6, [0049], [0055], Doshi teaches that logic one values are set to correspond to the start of new objects) Sun/Nordquist and Doshi are analogous art because they are from the same field of endeavor, mapping a bitmap containing information about a memory allocation to a memory space. Sun/Nordquist and Doshi each disclose a bitmap that represents a preset portion of memory space. One of ordinary skill in the art would have recognized that the initial 1 values for free space and 0 values for allocated spaces in the index bitmap of Sun/Nordquist could have been substituted for the 0 and 1 values (respectively) of Doshi for the start of objects because the 1 and 0 values serve the purpose of representing a used or free memory address. Furthermore, one of ordinary skill in the art would have been able to carry out the substitution. Finally, the substitution achieves the predictable result of clearing all bits of the first bitmap to zero; and setting a bit in the first bitmap corresponding to the memory starting address of each of the objects to 1. Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the initializing all values of an index bitmap to 1 and marking used segments with 0, as disclosed by Sun/Nordquist, with 0 and 1 values (respectively), as disclosed by Doshi, to yield the predictable result of a combined clearing all bits of the first bitmap to zero; and setting a bit in the first bitmap corresponding to the memory starting address of each of the objects to 1. Further, the storing of objects of Doshi would have been an obvious way for the allocations associated with requests to be used as disclosed by Sun/Nordquist. Regarding claim 2: The combination of Sun, Nordquist, and Doshi teaches all limitations of claim 1, from which claim 2 depends. Sun/Nordquist/Doshi further teaches the fixed size comprises a preset number of bytes in the first memory space, wherein (In page 6 line 43, Sun teaches a particular embodiment where the preset memory size, which corresponds to a bit in the bitmap and is interpreted to be the block size as discussed with respect to claim 1, is 64 Bytes. The claimed fixed size is what the memory blocks in claim 1 are the size of the blocks, which the 64 Bytes embodiment of Sun teaches.) Sun/Nordquist/Doshi further teaches the preset size is a multiple of a memory size of each object. (In page 6, lines 43-44, Sun teaches that each allocation request made results in a memory size, where the preset memory size is made to be a multiple of. As discussed with respect to claim 1, the concepts of the allocation requests of Sun are also applied to corresponding requests to store objects, and thus the preset size is a multiple of a memory size of each object.) Regarding claim 3: The combination of Sun, Nordquist, and Doshi teaches all the limitations of claim 1, from which claim 3 depends. Sun/Nordquist/Doshi further teaches determining, before storing any one of the objects in the memory space, whether unused memory of the first memory space meets the size of the object; and (Page 4, lines 24-30, Sun teaches when an allocation request is received, judging whether there is enough space to fulfill the request, which occurs before fulfilling any requests, and would obviously be before storing any objects in the space “according to the continuous bit lookup table, judging whether the continuous bit quantity of the target continuous bit with the value of the first identification in the current byte selected by the index bitmap meets the required continuous bit quantity, if so, acquiring the target continuous bit, and if not, performing the judgment on the next byte of the index bitmap until the target continuous bit meeting the required continuous bit quantity is found;”.) The combination of Sun/Nordquist/Doshi further teaches allocating, when the unused memory of the first memory space meets the size of the object, memory from a starting address of the unused memory according to the size of the object (Page 4, line 31, Sun teaches that when a space fulfilling the size requirement for an allocation request is found, determining the address of the heap memory to fulfill the allocation request “and determining the address of the heap memory matched with the size of the heap memory according to the target continuous bit.”) Regarding claim 5: The combination of Sun, Nordquist, and Doshi teaches all the limitations of claim 2, from which claim 5 depends. The combination of Sun, Nordquist, and Doshi further teaches determining an address of a pointer pointing into a memory range of any target object in the first memory space; and determining metadata of the target object according to the address of the pointer and the first bitmap, wherein the metadata comprises at least one of a memory starting address, a memory ending address, and a memory size. (Fig. 6, [0050], and [0024], Doshi teaches that the address of an object pointed to by a pointer with a corresponding bit vector can be obtained by using the VA portion of the pointer. Further, in Page 6 lines 51-52, Sun teaches of certain requests in which, based on the address in the request, the bits in the bitmap are found and operated on. The combination of these ideas results in determining an address of a pointer, then using the address of the pointer to determine the bits representing metadata (which as discussed with respect to claim 1, may comprise a memory starting address) for that address.) One of ordinary skill in the art would have been motivated to make this modification in order to allow for processing further access requests to objects as disclosed by Doshi [0022] “during program execution access to an object in heap memory may be controlled based on the identifiers associated with a pointer to the object. Thus as shown in FIG. 1, it may be determined whether a request has been received to access an object during program execution (diamond 40). For example, an access validator or other such hardware may receive an access request which may include, e.g., a pointer.” Regarding claim 16: Sun teaches An electronic device, comprising: at least one processor and a memory; wherein the memory stores computer-executable instructions; and the at least one processor executes the computer-executable instructions stored in the memory to cause the at least one processor to: (Page 3, 24-25 of the Disclosure of Invention, Sun teaches that the electronic device includes a memory, a processor, and a computer program on the memory executable on the processor to implement the invention of Sun “an electronic device includes a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the processor implements the steps of the heap memory management method when executing the computer program.”) the first memory space comprises memory blocks, and each of the memory blocks has a fixed size (Page 4, lines 20-27, Sun teaches that the memory space to be allocated to the heap is managed using a preset memory size as a unit. The allocation comprises units of memory of a preset size, which is interpreted to be the claimed memory space comprising memory blocks of a fixed size.) configure a first bitmap having a first mapping relationship with the first memory space… wherein the first bitmap is specific to the first memory space… the first bitmap comprises a plurality of bits, and each of the plurality of the bits corresponds to one of the memory blocks in the first memory space; (Page 4, lines 10-20, Sun teaches an index bitmap that has a correspondence to a heap memory “establishing an index bitmap according to the size of a heap memory to be managed”. Furthermore, in Page 4, line 20, the preset memory size (interpreted as the claimed memory blocks) corresponds to one bit in the index bitmap.) clear the plurality of bits of the first bitmap to an initial value (Page 6 lines 25-26, Sun teaches that when a bitmap is initialized, a first identifier is written into all values of the bitmap, with an example embodiment of initializing all bits of the bit array to 1 (initial value)) consecutively allocate memory in the first memory space according to a size of each request among the requests, wherein each allocation has a memory starting address in the first memory space (Page 4, lines 28-30, Sun teaches that to fulfill a new allocation request, the index bitmap is searched sequentially until the nearest adequate free space is found according to the requested size “according to the continuous bit lookup table, judging whether the continuous bit quantity of the target continuous bit with the value of the first identification in the current byte selected by the index bitmap meets the required continuous bit quantity, if so, acquiring the target continuous bit, and if not, performing the judgment on the next byte of the index bitmap until the target continuous bit meeting the required continuous bit quantity is found”. Furthermore, in Page 5 lines 16-17, Sun teaches that the equation for determining an allocation is relative to a starting address of the heap memory, in addition to the number of bits from it and the size of memory each bit represents. Since the allocations are relative to the starting address of the heap, and each bit is a known increment for the allocation, each bit of an allocated space is interpreted to correspond to the starting address of the space.) identify a bit in the first bitmap corresponding to the memory starting address of each allocation in the first memory space based on the first mapping relationship; and (As discussed previously, each bit in the bitmap of Sun is interpreted to correspond to a memory starting address of each allocation in the first memory space based on the first mapping relationship. Further, on Page 5 line 40-41, Sun teaches that a bit in the bitmap corresponding to memory addresses is determined according to a lookup, which corresponds to the claimed identifying a bit in the first bitmap corresponding to the memory starting addresses based on the mapping relationship.) update the first bitmap by switching a value of the identified bit corresponding to the memory starting address of each allocation from an initial value to a non-initial value based on consecutively allocating the memory in the first memory space, wherein the first bitmap stores information indicative of the memory starting address of each allocation in the first memory space from which metadata of each allocation is derived. (Page 5 lines 45-47, Sun teaches that as part of processing a memory allocation request, that the bit in the bitmap corresponding to the address of the requested memory allocation is marked using the second (non-initial) value. Given that upon initializing, the bits in the bitmap are given an initial value, the marking for the allocation is interpreted to be switching from an initial value to a non-initial value. Given that the bits in the bitmap are indicative of the start addresses of each allocation, this updated bitmap of Sun is interpreted to be the claimed updated first bitmap storing information indicative of memory start addresses of each allocation from which metadata of each allocation is derived.) While Sun discloses the use of memory heaps for allocating, Sun does not appear to explicitly disclose allocate a first memory space of a preset size to a first thread, bitmap values cleared to zero, storing objects associated with the first thread, or switching the value of at least one bit of the plurality of bits from zero to one However, Nordquist teaches allocate a first memory space of a first preset size to a first thread (Col. 3, lines 27-29, Nordquist teaches that fixed size portions of a memory pool are dynamically allocated to each processing thread.) Sun and Nordquist are analogous art because they are from the same field of endeavor, managing memory allocations. Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Sun and Nordquist, to achieve the combined result of a method which comprises allocating a first memory space of a preset size to a first thread, with the first memory space comprising memory blocks of a fixed size, which configures a first bitmap having a first mapping relationship with and is specific to the first memory space allocated to a first thread, the bitmap comprising a plurality of bits, wherein each bit corresponds to one of the memory blocks, where the plurality of bits of the first bitmap are set to an initial value, which creates the allocations consecutively according to a size of each of the requests, which updates the bitmap to indicate metadata associated with the allocations by switching the value of at least one bit in the bits from the initial value to a second value based on the at least one bit corresponding to the block that is associated with the memory address of the allocations. One of ordinary skill in the art would have been motivated to make this modification in order to apply the invention to a system which allocates memory to threads, to allow for greater thread parallelism, as discussed in Nordquist Col. 3, lines 29-31. While Sun teaches initializing all values of an index bitmap to 1, and marking used spaces with 0, the combination of Sun and Nordquist does not appear to explicitly disclose clearing all bits of the first bitmap to zero;, storing objects, switching at least one bit from zero to one However, Doshi teaches an initial value to zero ([0043], Doshi teaches that bits that do not point to an object boundary may all be 0s) Doshi further teaches storing objects ([0044], Doshi teaches that objects are stored in the memory block, which leads to the value setting in the bit vector, which in light of the previously discussed teachings of Sun and Nordquist, would be an obvious usage of the allocations, or part of the allocations taught by Sun.) Doshi further teaches update the first bitmap by switching a value of the identified bit corresponding to the memory starting address of each object from zero to one (Fig. 6, [0049], [0055], Doshi teaches that logic one values are set to correspond to the start of new objects) Sun/Nordquist and Doshi are analogous art because they are from the same field of endeavor, mapping a bitmap containing information about a memory allocation to a memory space. Sun/Nordquist and Doshi each disclose a bitmap that represents a preset portion of memory space. One of ordinary skill in the art would have recognized that the initial 1 values for free space and 0 values for allocated spaces in the index bitmap of Sun/Nordquist could have been substituted for the 0 and 1 values (respectively) of Doshi for the start of objects because the 1 and 0 values serve the purpose of representing a used or free memory address. Furthermore, one of ordinary skill in the art would have been able to carry out the substitution. Finally, the substitution achieves the predictable result of clearing all bits of the first bitmap to zero; and setting a bit in the first bitmap corresponding to the memory starting address of each of the objects to 1. Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the initializing all values of an index bitmap to 1 and marking used segments with 0, as disclosed by Sun/Nordquist, with 0 and 1 values (respectively), as disclosed by Doshi, to yield the predictable result of a combined clearing all bits of the first bitmap to zero; and setting a bit in the first bitmap corresponding to the memory starting address of each of the objects to 1. Further, the storing of objects of Doshi would have been an obvious way for the allocations associated with requests to be used as disclosed by Sun/Nordquist. Regarding claim 17: The combination of Sun and Kessler teaches all the limitations of claim 16, from which claim 17 depends. Sun/Nordquist/Doshi further teaches the fixed size comprises a preset number of bytes in the first memory space, wherein (In page 6 line 43, Sun teaches a particular embodiment where the preset memory size, which corresponds to a bit in the bitmap and is interpreted to be the block size as discussed with respect to claim 1, is 64 Bytes. The claimed fixed size is what the memory blocks in claim 1 are the size of the blocks, which the 64 Bytes embodiment of Sun teaches.) Sun/Nordquist/Doshi further teaches the preset size is a multiple of a memory size of each object. (In page 6, lines 43-44, Sun teaches that each allocation request made results in a memory size, where the preset memory size is made to be a multiple of. As discussed with respect to claim 16, the concepts of the allocation requests of Sun are also applied to corresponding requests to store objects, and thus the preset size is a multiple of a memory size of each object.) Regarding claim 18: The combination of Sun and Kessler teaches all the limitations of claim 16, from which claim 18 depends. Sun/Nordquist/Doshi further teaches determine, before storing any one of the objects in the memory space, whether unused memory of the first memory space meets the size of the object; and (Page 4, lines 24-30, Sun teaches when an allocation request is received, judging whether there is enough space to fulfill the request, which occurs before fulfilling any requests, and would obviously be before storing any objects in the space “according to the continuous bit lookup table, judging whether the continuous bit quantity of the target continuous bit with the value of the first identification in the current byte selected by the index bitmap meets the required continuous bit quantity, if so, acquiring the target continuous bit, and if not, performing the judgment on the next byte of the index bitmap until the target continuous bit meeting the required continuous bit quantity is found;”.) The combination of Sun/Nordquist/Doshi further teaches allocate, when the unused memory of the first memory space meets the size of the object, memory from a starting address of the unused memory according to the size of the object (Page 4, line 31, Sun teaches that when a space fulfilling the size requirement for an allocation request is found, determining the address of the heap memory to fulfill the allocation request “and determining the address of the heap memory matched with the size of the heap memory according to the target continuous bit.”) Regarding claim 20: Sun teaches A computer-readable storage medium, wherein the computer-readable storage medium stores therein computer-executable instructions which, when executed by a processor, cause the processor to: (Page 3, lines 21-22 of the Disclosure of Invention, Sun teaches a computer-readable storage medium with a computer program, that carries out the invention method when executed by a processor “a computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the above-mentioned heap memory management method.”) the first memory space comprises memory blocks, and each of the memory blocks has a fixed size (Page 4, lines 20-27, Sun teaches that the memory space to be allocated to the heap is managed using a preset memory size as a unit. The allocation comprises units of memory of a preset size, which is interpreted to be the claimed memory space comprising memory blocks of a fixed size.) configure a first bitmap having a first mapping relationship with the first memory space… wherein the first bitmap is specific to the first memory space… the first bitmap comprises a plurality of bits, and each of the plurality of the bits corresponds to one of the memory blocks in the first memory space; (Page 4, lines 10-20, Sun teaches an index bitmap that has a correspondence to a heap memory “establishing an index bitmap according to the size of a heap memory to be managed”. Furthermore, in Page 4, line 20, the preset memory size (interpreted as the claimed memory blocks) corresponds to one bit in the index bitmap.) clear the plurality of bits of the first bitmap to an initial value (Page 6 lines 25-26, Sun teaches that when a bitmap is initialized, a first identifier is written into all values of the bitmap, with an example embodiment of initializing all bits of the bit array to 1 (initial value)) consecutively allocate memory in the first memory space according to a size of each request among the requests, wherein each allocation has a memory starting address in the first memory space (Page 4, lines 28-30, Sun teaches that to fulfill a new allocation request, the index bitmap is searched sequentially until the nearest adequate free space is found according to the requested size “according to the continuous bit lookup table, judging whether the continuous bit quantity of the target continuous bit with the value of the first identification in the current byte selected by the index bitmap meets the required continuous bit quantity, if so, acquiring the target continuous bit, and if not, performing the judgment on the next byte of the index bitmap until the target continuous bit meeting the required continuous bit quantity is found”. Furthermore, in Page 5 lines 16-17, Sun teaches that the equation for determining an allocation is relative to a starting address of the heap memory, in addition to the number of bits from it and the size of memory each bit represents. Since the allocations are relative to the starting address of the heap, and each bit is a known increment for the allocation, each bit of an allocated space is interpreted to correspond to the starting address of the space.) identify a bit in the first bitmap corresponding to the memory starting address of each allocation in the first memory space based on the first mapping relationship; and (As discussed previously, each bit in the bitmap of Sun is interpreted to correspond to a memory starting address of each allocation in the first memory space based on the first mapping relationship. Further, on Page 5 line 40-41, Sun teaches that a bit in the bitmap corresponding to memory addresses is determined according to a lookup, which corresponds to the claimed identifying a bit in the first bitmap corresponding to the memory starting addresses based on the mapping relationship.) update the first bitmap by switching a value of the identified bit corresponding to the memory starting address of each allocation from an initial value to a non-initial value based on consecutively allocating the memory in the first memory space, wherein the first bitmap stores information indicative of the memory starting address of each allocation in the first memory space from which metadata of each allocation is derived. (Page 5 lines 45-47, Sun teaches that as part of processing a memory allocation request, that the bit in the bitmap corresponding to the address of the requested memory allocation is marked using the second (non-initial) value. Given that upon initializing, the bits in the bitmap are given an initial value, the marking for the allocation is interpreted to be switching from an initial value to a non-initial value. Given that the bits in the bitmap are indicative of the start addresses of each allocation, this updated bitmap of Sun is interpreted to be the claimed updated first bitmap storing information indicative of memory start addresses of each allocation from which metadata of each allocation is derived.) While Sun discloses the use of memory heaps for allocating, Sun does not appear to explicitly disclose allocate a first memory space of a preset size to a first thread, bitmap values cleared to zero, storing objects associated with the first thread, or switching the value of at least one bit of the plurality of bits from zero to one However, Nordquist teaches allocate a first memory space of a first preset size to a first thread (Col. 3, lines 27-29, Nordquist teaches that fixed size portions of a memory pool are dynamically allocated to each processing thread.) Sun and Nordquist are analogous art because they are from the same field of endeavor, managing memory allocations. Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Sun and Nordquist, to achieve the combined result of a method which comprises allocating a first memory space of a preset size to a first thread, with the first memory space comprising memory blocks of a fixed size, which configures a first bitmap having a first mapping relationship with and is specific to the first memory space allocated to a first thread, the bitmap comprising a plurality of bits, wherein each bit corresponds to one of the memory blocks, where the plurality of bits of the first bitmap are set to an initial value, which creates the allocations consecutively according to a size of each of the requests, which updates the bitmap to indicate metadata associated with the allocations by switching the value of at least one bit in the bits from the initial value to a second value based on the at least one bit corresponding to the block that is associated with the memory address of the allocations. One of ordinary skill in the art would have been motivated to make this modification in order to apply the invention to a system which allocates memory to threads, to allow for greater thread parallelism, as discussed in Nordquist Col. 3, lines 29-31. While Sun teaches initializing all values of an index bitmap to 1, and marking used spaces with 0, the combination of Sun and Nordquist does not appear to explicitly disclose clearing all bits of the first bitmap to zero;, storing objects, switching at least one bit from zero to one However, Doshi teaches an initial value to zero ([0043], Doshi teaches that bits that do not point to an object boundary may all be 0s) Doshi further teaches storing objects ([0044], Doshi teaches that objects are stored in the memory block, which leads to the value setting in the bit vector, which in light of the previously discussed teachings of Sun and Nordquist, would be an obvious usage of the allocations, or part of the allocations taught by Sun.) Doshi further teaches update the first bitmap by switching a value of the identified bit corresponding to the memory starting address of each object from zero to one (Fig. 6, [0049], [0055], Doshi teaches that logic one values are set to correspond to the start of new objects) Sun/Nordquist and Doshi are analogous art because they are from the same field of endeavor, mapping a bitmap containing information about a memory allocation to a memory space. Sun/Nordquist and Doshi each disclose a bitmap that represents a preset portion of memory space. One of ordinary skill in the art would have recognized that the initial 1 values for free space and 0 values for allocated spaces in the index bitmap of Sun/Nordquist could have been substituted for the 0 and 1 values (respectively) of Doshi for the start of objects because the 1 and 0 values serve the purpose of representing a used or free memory address. Furthermore, one of ordinary skill in the art would have been able to carry out the substitution. Finally, the substitution achieves the predictable result of clearing all bits of the first bitmap to zero; and setting a bit in the first bitmap corresponding to the memory starting address of each of the objects to 1. Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the initializing all values of an index bitmap to 1 and marking used segments with 0, as disclosed by Sun/Nordquist, with 0 and 1 values (respectively), as disclosed by Doshi, to yield the predictable result of a combined clearing all bits of the first bitmap to zero; and setting a bit in the first bitmap corresponding to the memory starting address of each of the objects to 1. Further, the storing of objects of Doshi would have been an obvious way for the allocations associated with requests to be used as disclosed by Sun/Nordquist. Claims 4, 19 are rejected under 35 U.S.C. 103 as being unpatentable over SUN, Chinese Publication Number CN112667152A (hereinafter “Sun”) in view of Nordquist, U.S. Patent No. 7533236 (hereinafter “Nordquist”) further in view of Doshi et al., U.S. Pub. No. 20080140968 (hereinafter “Doshi”) further in view of Kessler, U.S. Pub. No. 20090019221 (hereinafter “Kessler”). Regarding claim 4: The combination of Sun, Nordquist, and Doshi teaches all the limitations of claim 3, from which claim 4 depends. Sun/Nordquist/Doshi further teaches set, when the unused memory of the first memory space does not meet the size of the object, a bit in the first bitmap corresponding to the starting address of the unused memory to 1; (Page 6, lines 25-26, Sun teaches that bits in the index bitmap representing unused memory of the memory space are set to 1.) Sun/Nordquist/Doshi further teaches consecutively allocate memory in the memory space according to the size of each of the objects to be allocated memory in the first thread, and (Page 4, lines 28-30, Sun teaches that to fulfill a new allocation request, the index bitmap is searched sequentially until the nearest adequate free space is found according to the requested size “according to the continuous bit lookup table, judging whether the continuous bit quantity of the target continuous bit with the value of the first identification in the current byte selected by the index bitmap meets the required continuous bit quantity, if so, acquiring the target continuous bit, and if not, performing the judgment on the next byte of the index bitmap until the target continuous bit meeting the required continuous bit quantity is found”) While Sun/Nordquist/Doshi teach the concepts of allocating a memory space of a preset size, configuring a bitmap with a mapping relationship to it, allocating memory within it for objects, and identifying a memory starting address of each object based on the mapping relationship, Sun/Nordquist/Doshi do not appear to extend the concepts to a second iteration of it. However, Kessler teaches reallocate a second memory space of a second preset size, and configuring a second bitmap having a second mapping relationship with the second memory space ([0044-0046], Kessler teaches allocating a second range of virtual memory addresses used for a second chunk of the chunked heap, as well as a corresponding side data structure (which could be a bitmap) used by the process.) Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Sun/Nordquist/Doshi and Kessler, to achieve a method which may further extend the allocating for a first memory space, to also allow for reallocating a second memory space of a second preset size, and configuring a second bitmap having a second mapping relationship with the second memory space, to allow for the same consecutive allocating memory in the second memory space and identifying a memory starting address of each object in the second bitmap based on the second mapping relationship, as applied to the first memory space. One of ordinary skill in the art would have been motivated to make this modification in order to allow the virtual memory address space to be used more efficiently as it adjusts its usage to a process’s active workload, as discussed in Kessler [0007] “For example, a process may allocate the chunks of a chunked heap only when heap space is needed, and may de-allocate any heap chunks that are no longer needed. In this way, a process may manage its virtual memory address space more efficiently and may adjust the use of virtual memory space to the process' current workload.” Regarding claim 19: The combination of Sun and Kessler teaches all the limitations of claim 18, from which claim 19 depends. The combination of Sun and Kessler further teaches set, when the unused memory of the first memory space does not meet the size of the object, a bit in the first bitmap corresponding to the starting address of the unused memory to 1, (Page 6, lines 25-26, Sun teaches that bits in the index bitmap representing unused memory of the memory space are set to 1.) The combination of Sun and Kessler further teaches consecutively allocate memory in the memory space according to the size of each of the objects to be allocated memory in the first thread, and (Page 4, lines 28-30, Sun teaches that to fulfill a new allocation request, the index bitmap is searched sequentially until the nearest adequate free space is found according to the requested size “according to the continuous bit lookup table, judging whether the continuous bit quantity of the target continuous bit with the value of the first identification in the current byte selected by the index bitmap meets the required continuous bit quantity, if so, acquiring the target continuous bit, and if not, performing the judgment on the next byte of the index bitmap until the target continuous bit meeting the required continuous bit quantity is found”) The combination of Sun and Kessler further teaches identify a memory starting address of each of the objects in the bitmap based on the mapping relationship (Page 4, line 31, Sun teaches determining the address of the heap memory matching what was found in the index bitmap during allocation “and determining the address of the heap memory matched with the size of the heap memory according to the target continuous bit”) The combination of Sun and Kessler further teaches reallocate a second memory space of a preset size, and (Fig. 3 and [0044], Kessler teaches allocating a second range of virtual memory addresses to be used for a second chunk in 304. Moreover, in [0034], Kessler teaches that chunks may be of a known preset size) The combination of Sun and Kessler further teaches configure a second bitmap having a mapping relationship with the second memory space; and (Fig. 3 and [0045-0046], Kessler teaches that a second allocated chunk would have its own marking bitmap that corresponds to virtual addresses in the second chunk) Sun and Kessler are analogous art because they are from the same field of endeavor, mapping a bitmap containing information about a memory allocation to a memory space. Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the bitmap mapping to a memory space where memory is consecutively allocated according to the size of each of the objects and identifying a memory starting address of each of the objects in the bitmap based on the mapping relationship, and where bits corresponding to the starting addresses of unused memory are set to 1, as disclosed by Sun, to also include allocating a second memory space of a preset size to a first thread to be allocated memory along a second bitmap configured to have a mapping relationship to the second memory space, as disclosed by Kessler. One of ordinary skill in the art would have been motivated to make this modification in order to allow the virtual memory address space to be used more efficiently as it adjusts its usage to a process’s active workload, as discussed in Kessler [0007] “For example, a process may allocate the chunks of a chunked heap only when heap space is needed, and may de-allocate any heap chunks that are no longer needed. In this way, a process may manage its virtual memory address space more efficiently and may adjust the use of virtual memory space to the process' current workload.” Claims 6, 7, 9 are rejected under 35 U.S.C. 103 as being unpatentable over SUN, Chinese Publication Number CN112667152A (hereinafter “Sun”) in view of Nordquist, U.S. Patent No. 7533236 (hereinafter “Nordquist”) further in view of Doshi et al., U.S. Pub. No. 20080140968 (hereinafter “Doshi”) further in view of Blandy, U.S. Pub. No. 20050278487 (hereinafter “Blandy”). Regarding claim 6: The combination of Sun, Nordquist, and Doshi teaches all the limitations of claim 5, from which claim 6 depends. The combination of Sun, Nordquist, and Doshi teaches determining a first bit in the first bitmap corresponding to the address of the pointer (Page 6, lines 51-53, Sun teaches an operation that requires the index bitmap bits corresponding to the address of the requested heap memory are searched for are received “and receiving a heap memory release request, and marking index bitmap bits corresponding to the address of the heap memory requested to be released by the first identification. Specifically, the bits of the heapBitArray index bitmap corresponding to the release address and the length range are relabeled to 1”. As discussed with respect to claim 5, Doshi teaches that requests may have a virtual address in the pointer, and combined with the teachings of Sun, teaches the claimed determining a first bit in the first bitmap corresponding to the address of the pointer.) One of ordinary skill in the art would have been motivated to make this modification for the same reasons as claim 5. The combination of Sun, Nordquist, and Doshi does not appear to explicitly disclose searching for a second bit having a value of 1 that is nearest to the first bit in a head direction in the first bitmap, determining a first offset between the first bit and the second bit, determining a first memory offset between a memory starting address of the target object and the address of the pointer according to the first offset and the preset number; and determining the memory starting address of the target object according to the address of the pointer and the first memory offset; and/or searching for a third bit having a value of 1 that is nearest to the first bit in a tail direction in the first bitmap, determining a second offset between the first bit and the third bit, determining a second memory offset between a memory ending address of the target object and the address of the pointer according to the second offset and the preset number; and determining the memory ending address of the target object according to the address of the pointer and the second memory offset; and/or determining a memory size of the target object according to the memory starting address of the target object and the memory ending address of the target object. However, Blandy teaches searching for a second bit having a value of 1 that is nearest to the first bit in a head direction in the first bitmap, determining a first offset between the first bit and the second bit, determining a first memory offset between the memory starting address of the target object and the address of the pointer according to the first offset and the preset number; and determining the memory starting address of the target object according to the address of the pointer and the first memory offset; and/or searching for a third bit having a value of 1 that is nearest to the first bit in a tail direction in the first bitmap, determining a second offset between the first bit and the third bit, determining a second memory offset between the memory ending address of the target object and the address of the pointer according to the second offset and the preset number; and determining the memory ending address of the target object according to the address of the pointer and the second memory offset; and/or determining the memory size of the target object according to the memory starting address of the target object and the memory ending address of the target object ([0048] and Fig. 3, Blandy teaches that a bit vector can be scanned to determine the sizes of objects represented in it “If the counter value exceeds an object fetch threshold, then the size of the marked object is fetched and the size indicated by the counter bits is subtracted from the size of the marked object.” Moreover in [0049] and [0047], Blandy teaches that a one bit in the bit vector represents the first byte of a referenced object, and that the end boundary of an object may be determined when analyzing the bit vector for the size.) Sun/Nordquist/Doshi and Blandy are analogous art because they are from the same field of endeavor, mapping a bitmap containing information about a memory allocation to a memory space. Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the elements of claim 5, as disclosed by Sun/ Nordquist/Doshi, to also be capable of determining a memory size of a target object according to the memory starting address of the target object and the memory ending address of the target object, as disclosed by Blandy. One of ordinary skill, would have been motivated to make this modification in order to facilitate garbage collection algorithms that may require the size of objects in the heap to be derivable, as discussed in Blandy [0010] “In sweep phrase implementation, it is common for a garbage collection algorithm to require that the size of objects currently within the heap be derivable from an examination of the object. Additionally, some garbage collection algorithms may require that free memory fragments have a derivable size.” Regarding claim 7: The combination of Sun, Nordquist, Doshi, and Blandy teaches all the limitations of claim 6, from which claim 7 depends The combination of Sun, Nordquist, Doshi, and Blandy further teaches wherein the determining a first bit in the first bitmap corresponding to the address of the pointer, comprises: determining a byte where the first bit is located in the first bitmap, reading a first partial bitmap correspond to the byte, and (Page 6, lines 21-25 and lines 31-33, Sun teaches that the index bitmap is divided into 32 elements of 1 byte each, “specifically, in this embodiment, the managed heap memory size is 16kB, each bit is represented as 64Bytes, and the required managed memory is 16kB/64Bytes/8 ═32Bytes, so that an index bitmap is established according to the Bytes that need to be managed: u8 heapBitArray [32], that is, the index bitmap is an array, there are 32elements in the array, and each element has 8 bits to represent a byte; when the index bitmap is initialized, writing a first identifier into all values of the index bitmap, in this embodiment, initializing heapBitArray [32] to all 1, that is, 8 bits of each element are 1;”. Moreover, on page 6 lines 31-33, Sun teaches that when performing requests involving the index bitmap, the index bitmap is judged one byte at a time “according to the continuous bit lookup table, judging whether the continuous bit quantity of the target continuous bit with the value of the first identification in the current byte selected by the index bitmap meets the required continuous bit quantity, if so, acquiring the target continuous bit, and if not, performing the judgment on the next byte of the index bitmap until the target continuous bit meeting the required continuous bit quantity is found;”) The combination of Sun, Nordquist, Doshi, and Blandy further teaches determining the first bit in the first partial bitmap. (Page 6, lines 51-53, Sun teaches that when a heap memory release request with a release address is received, the bits in the targeted byte of the index bitmap corresponding to the release address are relabeled. Since the targeted bits are operated on, Sun teaches the claimed determining the first bit in the first partial bitmap “and receiving a heap memory release request, and marking index bitmap bits corresponding to the address of the heap memory requested to be released by the first identification. Specifically, the bits of the heapBitArray index bitmap corresponding to the release address and the length range are relabeled to 1.”) Regarding claim 9: The combination of Sun, Nordquist, Doshi, and Blandy teach all the limitations of claim 7, from which claim 9 depends. The combination of Sun, Nordquist, Doshi, and Blandy further teaches determining a seventh offset for the first bit relative to a head of the first partial bitmap; ([0059] Blandy teaches a prefix value representing the number of initial zeroes counted in a section before reaching a marked bit. The section is interpreted as the claimed first partial bitmap. The seventh offset is interpreted as the claimed prefix.) The combination of Sun, Nordquist, Doshi, and Blandy further teaches determining whether the third bit exists in the first partial bitmap; determining, when it is determined that the third bit exists in the first partial bitmap, an eighth offset for the third bit relative to the head of the first partial bitmap; ([0060] Blandy teaches resetting a counter to 1 when the marked bit representing the start of an object is found, then incrementing the counter for every zero bit scanned while scanning in the tail direction, until another marked bit is reached. The first marked bit is interpreted as the claimed first bit. The another marked bit is interpreted as the claimed third bit. The counter is interpreted as the claimed eighth offset.) The combination of Sun, Nordquist, Doshi, and Blandy further teaches determining the second offset between the first bit and the third bit according to the seventh offset and the eighth offset ([0048] Blandy teaches that a size of an object, representing the offset between the first bit and the third bit when the first bit is the initial bit of a section, is fetched after scanning the section for marked bits towards the tail direction) Sun/Nordquist/Doshi and Blandy are analogous art because they are from the same field of endeavor, mapping a bitmap containing information about a memory allocation to a memory space. Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the elements of claim 7, as disclosed by Sun, Nordquist, Doshi, and Blandy, to also scan a partial bitmap in the tail direction to count the bits before a first bit and to count the bits between a first bit and a third bit, as disclosed by Blandy. One of ordinary skill, would have been motivated to make this modification in order to count bits for determining object sizes to facilitate garbage collection and object allocation, as discussed in Blandy [0056] “a sweep phase identifies and places free space that is larger than a free list size threshold on a free item list or some other structure to facilitate subsequent object allocation. To find free spaces larger than a free list size threshold, the garbage collector performs a bitwise sweep of mark vector 320.” Allowable Subject Matter Claims 8, 10-15 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten to overcome the rejections set forth in this Office Action, and in independent form including all of the limitations of the base claim and any intervening claims. The reasons for allowance of claim 8 are that the prior art of record, including the references cited below, neither anticipate nor render obvious the recited combination as a whole; including the limitations of determining a third offset for the first bit relative to a tail of the first partial bitmap; determining whether the second bit exists in the first partial bitmap; determining, when it is determined that the second bit exists in the first partial bitmap, a fourth offset for the second bit relative to the tail of the first partial bitmap; determining the first offset between the first bit and the second bit according to the third offset and the fourth offset; or reading, when it is determined that the second bit does not exist in the first partial bitmap, a part of the bitmap corresponding to a neighboring byte sequentially along the head direction, until a second partial bitmap where the second bit exists is found, and determining a fifth offset for the second bit relative to the tail of the second partial bitmap; determining a sixth offset for the second bit relative to the tail of the first partial bitmap according to the fifth offset; determining the first offset between the first bit and the second bit according to the third offset and the sixth offset. The closest prior art of record is Blandy, which teaches to determine information about an object by counting the amount of zero values starting at a marked bit in the bit vector corresponding to a memory heap, until the end of a section or another marked bit is reached, but does not teach determining a third offset for the first bit relative to a tail of the first partial bitmap; determining whether the second bit exists in the first partial bitmap; determining, when it is determined that the second bit exists in the first partial bitmap, a fourth offset for the second bit relative to the tail of the first partial bitmap; determining the first offset between the first bit and the second bit according to the third offset and the fourth offset; or reading, when it is determined that the second bit does not exist in the first partial bitmap, a part of the bitmap corresponding to a neighboring byte sequentially along the head direction, until a second partial bitmap where the second bit exists is found, and determining a fifth offset for the second bit relative to the tail of the second partial bitmap; determining a sixth offset for the second bit relative to the tail of the first partial bitmap according to the fifth offset; determining the first offset between the first bit and the second bit according to the third offset and the sixth offset. As such, the prior art made of record, SUN, Chinese Publication Number CN112667152A; Kessler, U.S. Pub. No. 20090019221; Doshi et al., U.S. Pub. No. 20080140968; Blandy, U.S. Pub. No. 20050278487; Horie et al., U.S. Pub. No. 20220075720; Case et al., U.S. Patent No. 7386697; and Burns et al., U.S. Pub. No. 20030014583, neither anticipates nor renders obvious the above-recited combinations for at least the reasons specified. The reasons for allowance of claim 13 are that the prior art of record, including the references cited below, neither anticipate nor render obvious the recited combination as a whole; including the limitations of after determining the first bit in the first partial bitmap: constructing a first mask according to a position of the first bit in the first partial bitmap, wherein a length of the first mask is same as a length of the first partial bitmap, the position corresponding to the first bit is 1, and the remaining positions are 0; and the determining a seventh offset for the first bit relative to the head of the first partial bitmap, comprises: determining, in the first mask, a number of 0s that exist in a direction from 1 towards the head of the first mask as the seventh offset. The closest prior art of record is Blandy, which teaches determining a seventh offset for the first bit relative to the head, but does not teach constructing a first mask or determining the seventh offset using the first mask. As such, the prior art made of record, SUN, Chinese Publication Number CN112667152A; Kessler, U.S. Pub. No. 20090019221; Doshi et al., U.S. Pub. No. 20080140968; Blandy, U.S. Pub. No. 20050278487; Horie et al., U.S. Pub. No. 20220075720; Case et al., U.S. Patent No. 7386697; and Burns et al., U.S. Pub. No. 20030014583, neither anticipates nor renders obvious the above-recited combinations for at least the reasons specified. Regarding claim 8: while Blandy teaches starting at a first marked bit and counting the amount of zeros in a tail direction until the end of a section or another marked bit is reached, Blandy does not appear to explicitly disclose determining a third offset for the first bit relative to a tail of the first partial bitmap; determining whether the second bit exists in the first partial bitmap; determining, when it is determined that the second bit exists in the first partial bitmap, a fourth offset for the second bit relative to the tail of the first partial bitmap; determining the first offset between the first bit and the second bit according to the third offset and the fourth offset; or reading, when it is determined that the second bit does not exist in the first partial bitmap, a part of the bitmap corresponding to a neighboring byte sequentially along the head direction, until a second partial bitmap where the second bit exists is found, and determining a fifth offset for the second bit relative to a tail of the second partial bitmap; determining a sixth offset for the second bit relative to the tail of the first partial bitmap according to the fifth offset; determining the first offset between the first bit and the second bit according to the third offset and the sixth offset. Other prior art discloses scanning in both the head and tail directions but does not appear to disclose determining offsets relative to the tail of a partial bitmap, or determining an offset between a first bit and second bit according to those offsets relative to the tail of the partial bitmap, or finding another bitmap in a neighboring byte in the head direction if a second bit in the head direction of the first bit is not found. Therefore, there is no teaching or motivation that would have been known to one of ordinary skill in the art before the effective filing date of the claimed invention for searching for a second bit in the head direction of the first bit or determining offsets relative to the tail of a first partial bitmap. Therefore, a rejection for anticipation by Blandy or obviousness over Blandy in view of the other prior art would be improper. Claims 10-12 depend on claim 8 and inherit these limitations of searching for a second bit in the head direction of the first bit or determining offsets relative to the tail of the first partial bitmap, and are allowable for the same reasons. Regarding claim 13: while the method according to claim 9 is taught, and Blandy teaches counting a number of 0s that exist in a direction from the head of the first partial bitmap until the first marked bit, Blandy does not appear to explicitly disclose doing so with a first mask or constructing a first mask at all. Other prior art discloses scanning the bitmap in both the head and tail directions, but does not appear to disclose constructing masks or determining offsets from the masks. Therefore, there is no teaching or motivation that would have been known to one of ordinary skill in the art before the effective filing date of the claimed invention for constructing a constructing a first mask according to a position of the first bit in the first partial bitmap, wherein a length of the first mask is same as a length of the first partial bitmap, the position corresponding to the first bit is 1, and the remaining positions are 0; and the determining a seventh offset for the first bit relative to the head of the first partial bitmap, comprises: determining, in the first mask, a number of 0s that exist in a direction from 1 towards a head of the first mask as the seventh offset. Therefore, a rejection for anticipation by Blandy or obviousness over Blandy in view of the other prior art would be improper. Claims 14-15 depend on claim 13 and inherit the limitations of constructing a mask and determining a number of 0s in the mask as the seventh offset and are allowable for the same reasons. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to KAITLYN HUNG PHAM whose telephone number is (571)272-6333. The examiner can normally be reached M/Tu/Th/F 8:00-6:00 EST. 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, Rocio Del Mar Perez-Velez can be reached at 571-270-5935. 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. /K.H.P./Examiner, Art Unit 2133 /ROCIO DEL MAR PEREZ-VELEZ/Supervisory Patent Examiner, Art Unit 2133
Read full office action

Prosecution Timeline

Aug 02, 2024
Application Filed
Jul 18, 2025
Non-Final Rejection — §103
Oct 13, 2025
Response Filed
Oct 28, 2025
Final Rejection — §103
Dec 23, 2025
Response after Non-Final Action
Feb 02, 2026
Request for Continued Examination
Feb 09, 2026
Response after Non-Final Action
Apr 02, 2026
Non-Final Rejection — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12554636
MEMORY SYSTEM AND METHOD OF CONTROLLING MEMORY SYSTEM
2y 5m to grant Granted Feb 17, 2026
Study what changed to get past this examiner. Based on 1 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

3-4
Expected OA Rounds
100%
Grant Probability
99%
With Interview (+100.0%)
1y 5m
Median Time to Grant
High
PTA Risk
Based on 1 resolved cases by this examiner. Grant probability derived from career allow 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