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 .
Response to Amendment
This Office action is in response to Applicant' s communication filed 9/29/2025 in response to the Office action dated 7/1/2025. Claims 1-20 have been amended. Claims 1-20 are pending in this application.
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 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-2, 4, 8-9, 11, 15-16, and 18 are rejected under 35 U.S.C. 103 as being obvious over Kanfi (US 20140019706 A1) in view of Shah et al. (US 20190065092 A1), hereinafter Shah.
Regarding claim 1, Kanfi teaches a storage space allocation method, comprising: based on an initial storage space requirement of each of table objects, correspondingly allocating a first virtual address block list of a preset length for each of the table objects (Paragraphs 48, 52-53; Fig. 1c, assigning a virtual address space (associated with a logical volume(s) [virtual address block list] consisting of logical blocks and containing 3 logical objects 191-193 or 194-196 [preset length]) to filesystems 161-163 [table objects]),
the first virtual address block list comprising virtual blocks, each of the virtual blocks corresponding a first preset space (Paragraph 48, logical volume [first virtual address block list] comprises data blocks characterized by logical block addresses [first virtual blocks], the data blocks being 512 bytes [first preset space]);
obtaining a first corresponding relationship between the table object in the database and each virtual address in the virtual block of the first virtual address block list (Paragraphs 52-53; Fig. 1c, object management system 100 [database] maintains the filesystems 161-163 [table objects] and the associated logical address spaces 171-173 [virtual addresses] of the logical volumes 181-183 [virtual address block list]),
and obtaining a second corresponding relationship between the virtual block and a physical block in a physical storage space that is pre-allocated (Paragraphs 60-61; Fig. 2, volume management of logical volume 200 maps virtual address blocks into physical address blocks of an associated allocated physical storage address range),
the physical block corresponding a second preset space (Paragraphs 47-48; physical data blocks represented by logical block addresses are 512 bytes [second preset space]);
monitoring an addition/deletion operation of data in the table object in the virtual block (Paragraphs 58-60; Fig. 1, object control processor 121 selects an allocation zone upon an allocation request [addition operation] for filesystem data [table object] within logical volume 200 (selection performed in response of a request interpreted to mean monitoring of a request/operation));
according to the monitored addition/deletion operation, obtaining a first virtual address in a first virtual block corresponding to first data in the table object based on the first corresponding relationship (Paragraphs 67, 69; Fig. 5, step 520, in response to a command to increase the size of the file [first data] in a filesystem [table object], obtaining the [first] virtual address range consisting of [first] virtual blocks of the current file),
and obtaining a first physical address in a first physical block corresponding to the first virtual address based on the second corresponding relationship (Paragraph 75; Fig. 5, step 530, allocation unit maps the virtual addresses into physical address ranges consisting of physical blocks);
obtaining a second physical address in a second physical block for second data, the second data being generated by performing the addition/deletion operation on the first data (Paragraphs 69, 76; Fig. 5, step 540, allocating a physical block address range for write request data [second data] to increase the size of the file [first data]),
and obtaining a second virtual address in a second virtual block corresponding to the second physical address based on the second corresponding relationship (Paragraphs 69, 71, 75; Fig. 5, steps 520, 530, allocating a virtual allocation unit comprising of virtual block addresses for write request data which is mapped to physical address ranges);
updating a storage status of the second physical block based on a storage status of the second physical address after the addition/deletion operation (Paragraphs 64-65, 76; Figs. 4b and 5, step 540, enabling associating the physical block address range with the virtual allocation unit, such as associating [second] physical address range 421 with the virtual address range 411a of virtual allocation unit 411, indicates that the physical address range (consisting of [second] physical blocks) is of an allocated status), and
synchronously updating a storage status of the second virtual address and a storage status of the second virtual block (Paragraphs 61, 64-65, 76; Figs. 4b and 5, step 540, the enabling of association of physical address range 421 with [second] virtual address range 411a of virtual allocation unit 411 indicates that the virtual address range (consisting of [second] virtual blocks) is mapped and of an allocated status).
Kanfi does not explicitly teach a database or allocating a first virtual address block list in a case that the database is initialized in a shared storage space.
However, Shah teaches a database (Paragraph 32; Fig. 2, nodes 111 maintain an in-memory metadata database),
and allocating a first virtual address block list in a case that the database is initialized in a shared storage space (Paragraphs 32, 36; Fig. 2, after creating the in-memory metadata database which contains information about objects stored in object store 116 [shared storage space], generating a virtual disk blueprint [virtual address block list] which maps virtual objects to physical storage locations).
Kanfi and Shah are analogous art because they are in the same field of endeavor, that being storage space allocation. It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Kanfi to further include the database and blueprint according to the teachings of Shah. The motivation for doing so would have been to improve data reliability and availability (Shah, Paragraph 43).
Regarding claim 2, Kanfi in view of Shah teaches the storage space allocation method as described in claim 1, wherein obtaining the second physical address in the second physical block for second data after the addition/deletion operation, and obtaining the second virtual address in the second virtual block corresponding to the second physical address based on the second corresponding relationship comprises: performing an operation of adding data on the table object and obtaining the second data (Kanfi, Paragraphs 67, 69; Fig. 5, step 520, receiving a command to increase the size of the file [data] in a filesystem [table object] (with second data));
in response that a free physical storage space in the first physical block is smaller than a space for the added data in the second data (Kanfi, Paragraphs 70, 75; Fig. 5, step 525, in response that the current allocation unit (mapped to [first] physical blocks via physical addresses) is unable to accommodate the write command [second] data),
writing the added data in the second data into at least one free physical block in the physical storage space in sequence (Kanfi, Paragraphs 70-72, 74-76; Fig. 5, steps 530, 540, allocating at least one virtual allocation unit (mapped to physical blocks) in contiguous space [sequence] and writing to the associated physical blocks),
and obtaining the second physical address in the second physical block that has completed writing (Kanfi, Paragraphs 76-77; Fig. 5, step 540, associating a portion of the virtual allocation unit with a physical block address range (including the last physical block that has completed writing));
based on the second corresponding relationship, obtaining the second virtual address in the second virtual block corresponding to the second physical address that has completed writing (Kanfi, Paragraphs 76-77; Fig. 5, step 540, associating a portion of the virtual allocation unit with a physical block address range and maintaining a data structure which maps associated virtual addresses within the allocation units to physical addresses);
and adding at least one second virtual block to the first virtual block in sequence and generating a second virtual address block list with consecutive address numbers (Kanfi, Paragraphs 61, 69, 72-74; Fig. 4b, allocation of virtual allocation units (containing at least one [second] virtual block) is added in contiguous space [consecutive address numbers] of the logical volume [second virtual address block list] (e.g. added space 411c [second virtual blocks] is sequential to original space 411a-411b [first virtual blocks] of a 1000 byte file)).
Regarding claim 4, Kanfi in view of Shah teaches the storage space allocation method as described in claim 1, wherein updating the storage status of the second physical block based on the storage status of the second physical address after the addition/deletion operation, and synchronously updating the storage status of the second virtual address and the storage status of the second virtual block comprises: after the operation of adding data in the table object, updating the storage status of the second physical address from an idle status to an occupied status (Kanfi, Paragraphs 64-65, 76; Figs. 4b and 5, step 540, enabling associating the physical block address range with the virtual allocation unit, such as associating [second] physical address range 421 with the virtual address range 411a of virtual allocation unit 411, indicates that the physical address range is of an allocated [occupied] status),
and updating the storage status of the second physical block where the second physical address is located from the idle status to the occupied status (Kanfi, Paragraphs 64-65, 76; Fig. 4b, indicating that the physical address range is of an allocated status indicates that the associated [second] physical blocks are of an allocated [occupied] status);
synchronously updating the storage status of the second virtual address corresponding to the second physical address from the idle status to the occupied status (Kanfi, Paragraphs 64-65, 76; Figs. 4b and 5, step 540, the enabling of association of physical address range 421 with [second] virtual address range 411a of virtual allocation unit 411 indicates that the virtual address range is mapped and of an allocated [occupied] status),
and synchronously updating the storage status of the second virtual block where the second virtual address is located from the idle status to the occupied status (Kanfi, Paragraphs 61, 64-65; Fig. 4b, indicating that the virtual address range is of an allocated status indicates that the associated [second] virtual blocks are of an allocated [occupied] status).
Regarding claim 8, this is a terminal device version of the claimed storage space allocation method discussed above (claim 1, respectively), in which Kanfi in view of Shah also teaches a terminal device, comprising: at least one processor (Kanfi, Paragraph 42; Fig. 1, object management system 100 includes at least one processing unit);
and a storage device (Kanfi, Paragraph 44; Fig. 1, storage device 104),
the storage device storing a computer program which is executed by the at least one processor (Kanfi, Paragraphs 42, 84; Fig. 1, memory [storage] includes a program which is executed by the machine (interpreted to be the processing unit of the management system 100 in this case) for executing the embodiments).
The remaining claim limitations have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, this claim is also obvious over Kanfi in view of Shah.
Regarding claim 9, this is a terminal device version of the claimed storage space allocation method discussed above (claim 2, respectively), wherein all claim limitations also have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, this claim is also obvious over Kanfi in view of Shah.
Regarding claim 11, this is a terminal device version of the claimed storage space allocation method discussed above (claim 4, respectively), wherein all claim limitations also have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, this claim is also obvious over Kanfi in view of Shah.
Regarding claim 15, this is a non-transitory storage medium version of the claimed storage space allocation method discussed above (claim 1, respectively), in which Kanfi in view of Shah also teaches a non-transitory storage medium having a computer program stored thereon (Kanfi, Paragraph 82, machine-readable storage device embodying a program);
and a storage device (Kanfi, Paragraph 84, machine-readable memory),
the storage device storing a computer program which is executed by the at least one processor (Kanfi, Paragraphs 42, 84; Fig. 1 memory [storage] includes a program which is executed by the machine (interpreted to be the processing unit of the management system 100 in this case) for executing the embodiments).
The remaining claim limitations have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, this claim is also obvious over Kanfi in view of Shah.
Regarding claim 16, this is a non-transitory storage medium version of the claimed storage space allocation method discussed above (claim 2, respectively), wherein all claim limitations also have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, this claim is also obvious over Kanfi in view of Shah.
Regarding claim 18, this is a non-transitory storage medium version of the claimed storage space allocation method discussed above (claim 4, respectively), wherein all claim limitations also have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, this claim is also obvious over Kanfi in view of Shah.
Claims 3, 10, and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Kanfi in view of Shah as applied to claim 1, and further in view of Hashimoto (US 20200034287 A1).
Regarding claim 3, Kanfi in view of Shah teaches the storage space allocation method as described in claim 1, wherein obtaining the second physical address in the second physical block for second data after the addition/deletion operation, and obtaining the second virtual address in the second virtual block corresponding to the second physical address based on the second corresponding relationship comprises: based on the second corresponding relationship, obtaining the second virtual address in the second virtual block corresponding to the second physical address that has completed deleting (Kanfi, Paragraph 77; block control layer 103 maintains a data structure which maps associated virtual addresses and physical addresses); and
generating a second virtual address list with consecutive address numbers (Kanfi, Paragraph 74, allocation ensures reservation of contiguous virtual address space [consecutive virtual address list]).
Kanfi in view of Shah does not explicitly teach performing an operation of deleting data on the table object and obtaining the second data; in response that the physical storage space in the first physical block is larger than a space for the second data, releasing at least one occupied physical block in the physical storage space in sequence based on a space of the second data after the data is deleted, and obtaining the second physical address in the second physical block that has completed deleting; starting from the first virtual block, releasing at least one second virtual block sequentially forward.
However, Hashimoto teaches performing an operation of deleting data on the table object and obtaining the second data (Paragraphs 143-144, 209-211; Figs. 14 and 21, steps 2101-2103, deleting data from an active block 43 [table object] from the active block pool 430 and receiving write data [second data]);
in response that the physical storage space in the first physical block is larger than a space for the second data, releasing at least one occupied physical block in the physical storage space in sequence based on a space of the second data after the data is deleted (Paragraphs 114, 143, 146, 218-220; Fig. 22, step 2205, if write data fits into free block 44 [first physical block] (storage space being larger than the space for write data), re-mapping [releasing] a free block 44 (from which data was deleted) occupying the free block pool 440 [physical storage space] based on the space required, in sequence of erase count),
and obtaining the second physical address in the second physical block that has completed deleting (Paragraphs 211-212; Fig. 21, steps 2103-2104, after deleting the block [second physical block], updating the lookup table 19 to map to the written physical address [second physical address]);
starting from the first virtual block, releasing at least one second virtual block sequentially forward (Paragraph 114, re-mapping [releasing] free blocks in sequence of erase count).
The Examiner notes that Hashimoto teaches the deletion operation while Kanfi in view of Shah teaches the consecutive virtual blocks and addresses.
Kanfi, Shah, and Hashimoto are analogous art because they are in the same field of endeavor, that being storage space allocation. It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Kanfi in view of Shah to further include a deletion operation according to the teachings of Hashimoto. The motivation for doing so would have been to clear up storage space and increase the effective storage space of the device (Hashimoto, Paragraph 220).
Regarding claim 10, this is a terminal device version of the claimed storage space allocation method discussed above (claim 3, respectively), in which Kanfi in view of Shah, further in view of Hashimoto also teaches a terminal device, comprising: at least one processor (Kanfi, Paragraph 42; Fig. 1, object management system 100 includes at least one processing unit);
and a storage device (Kanfi, Paragraph 44; Fig. 1, storage device 104),
the storage device storing a computer program which is executed by the at least one processor (Kanfi, Paragraphs 42, 84; Fig. 1, memory [storage] includes a program which is executed by the machine (interpreted to be the processing unit of the management system 100 in this case) for executing the embodiments).
The remaining claim limitations have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, this claim is also obvious over Kanfi in view of Shah, further in view of Hashimoto.
Regarding claim 17, this is a non-transitory storage medium version of the claimed storage space allocation method discussed above (claim 3, respectively), in which Kanfi in view of Shah, further in view of Hashimoto also teaches a non-transitory storage medium having a computer program stored thereon (Kanfi, Paragraph 82, machine-readable storage device embodying a program);
and a storage device (Kanfi, Paragraph 84, machine-readable memory),
the storage device storing a computer program which is executed by the at least one processor (Kanfi, Paragraphs 42, 84; Fig. 1 memory [storage] includes a program which is executed by the machine (interpreted to be the processing unit of the management system 100 in this case) for executing the embodiments).
The remaining claim limitations have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, this claim is also obvious over Kanfi in view of Shah, further in view of Hashimoto.
Claims 5, 12, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Kanfi in view of Shah as applied to claim 1 above, and further in view of Yochai et al. (US 20120066469 A1), hereinafter Yochai.
Regarding claim 5, Kanfi in view of Shah teaches the storage space allocation method of claim 1, wherein updating the storage status of the second physical block based on the storage status of the second physical address after the addition/deletion operation (Kanfi, Paragraphs 64-65, 76; Figs. 4b and 5, step 540, enabling associating the physical block address range with the virtual allocation unit, such as associating [second] physical address range 421 with the virtual address range 411a of virtual allocation unit 411, indicates that the physical address range (consisting of [second] physical blocks) is of an allocated status),
and synchronously updating the storage status of the second virtual address and the storage status of the second virtual block (Kanfi, Paragraphs 61, 64-65, 76; Figs. 4b and 5, step 540, the enabling of association of physical address range 421 with [second] virtual address range 411a of virtual allocation unit 411 indicates that the virtual address range (consisting of [second] virtual blocks) is mapped and of an allocated status)”.
Kanfi in view of Shah does not explicitly teach after the operation of deleting data is performed on the table object, continuing to set the storage status of the second physical address to the occupied status, and continuing to set the storage status of the second physical block where the second physical address is located to the occupied status; updating the storage status of a third physical address from the occupied status to the idle status, and updating the storage status of the first physical block where the first physical address is located from the occupied status to the idle status, the third physical address being a physical address segment between the first physical address and the second physical address; continuing to set the storage status of the second virtual address corresponding to the second physical address to the occupied status, and continuing to set the storage status of the second virtual block corresponding to the second physical block where the second physical address is located to the occupied status; synchronously updating the storage status of the third virtual address corresponding to the third physical address from the occupied status to the idle status, and synchronously updating the storage status of the first virtual block where the first virtual address is located from the occupied status to the idle status, the third virtual address being a virtual address segment between the first virtual address and the second virtual address.
However, Yochai teaches after the operation of deleting data is performed on the table object, continuing to set the storage status of the second physical address to the occupied status (Paragraphs 94-95; Fig. 5, when deleting LU1 + LU2, indicating the physical address space of LU0 411 [second physical address] as allocated [occupied]),
and continuing to set the storage status of the second physical block where the second physical address is located to the occupied status (Paragraphs 66, 94-95; Fig. 5, indicating the physical address space of LU0 411 as allocated indicates the corresponding physical blocks in the Physical Virtual Address Space (PVAS) are allocated);
updating the storage status of a third physical address from the occupied status to the idle status (Paragraphs 94-95; Fig. 5, deleting LU1 indicates the physical address space of LU1 412 [third physical address] as free [idle]),
and updating the storage status of the first physical block where the first physical address is located from the occupied status to the idle status (Paragraphs 66, 94-95; Fig. 5, when deleting LU2, indicating the physical address space of LU2 413 [first physical address] as free, along with the corresponding physical blocks [first physical block] in the PVAS),
the third physical address being a physical address segment between the first physical address and the second physical address (Paragraphs 82-83; Fig. 5, LU1 physical address space 412 [third physical address] is between LU2 physical address space 413 [first physical address] and LU0 physical address space 411 [second physical address]);
continuing to set the storage status of the second virtual address corresponding to the second physical address to the occupied status (Paragraphs 82, 94-95; Fig. 5, when deleting LU1 + LU2, indicating LU0 virtual address space 401 [second virtual address] (corresponding to physical address space 411) as allocated),
and continuing to set the storage status of the second virtual block corresponding to the second physical block where the second physical address is located to the occupied status (Paragraphs 58, 94-95; Fig. 5, indicating the virtual address space of LU0 401 as allocated indicates the corresponding virtual data blocks in the Internal Virtual Address Space (IVAS) are allocated);
synchronously updating the storage status of the third virtual address corresponding to the third physical address from the occupied status to the idle status (Paragraphs 94-95; Fig. 5, at the same time, deleting LU1 indicates the virtual address space of LU1 402 [third virtual address] (corresponding to physical address space 412) as free),
and synchronously updating the storage status of the first virtual block where the first virtual address is located from the occupied status to the idle status (Paragraphs 58, 94-95; Fig. 5, at the same time, when deleting LU2, indicating the virtual address space of LU2 403 [first virtual address] as free, along with the corresponding virtual blocks [first virtual block] in the IVAS),
the third virtual address being a virtual address segment between the first virtual address and the second virtual address (Paragraphs 82-83; Fig. 5, LU1 virtual address space 402 [third virtual address] is between LU2 virtual address space 403 [first virtual address] and LU0 virtual address space 401 [second virtual address]).
Kanfi, Shah, and Yochai are analogous art because they are in the same field of endeavor, that being storage virtualization. It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Kanfi in view of Shah to further include the physical and virtual space management in response to a deletion operation according to the teachings of Yochai. The motivation for doing so would have been to enable more efficient and smoother interaction between logical objects and physical storage (Yochai, Paragraph 35).
Regarding claim 12, this is a terminal device version of the claimed storage space allocation method discussed above (claim 5, respectively), in which Kanfi in view of Shah, further in view of Yochai also teaches a terminal device, comprising: at least one processor (Kanfi, Paragraph 42; Fig. 1, object management system 100 includes at least one processing unit);
and a storage device (Kanfi, Paragraph 44; Fig. 1, storage device 104),
the storage device storing a computer program which is executed by the at least one processor (Kanfi, Paragraphs 42, 84; Fig. 1, memory [storage] includes a program which is executed by the machine (interpreted to be the processing unit of the management system 100 in this case) for executing the embodiments).
The remaining claim limitations have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, this claim is also obvious over Kanfi in view of Shah, further in view of Yochai.
Regarding claim 19, this is a non-transitory storage medium version of the claimed storage space allocation method discussed above (claim 5, respectively), in which Kanfi in view of Shah, further in view of Yochai also teaches a non-transitory storage medium having a computer program stored thereon (Kanfi, Paragraph 82, machine-readable storage device embodying a program);
and a storage device (Kanfi, Paragraph 84, machine-readable memory),
the storage device storing a computer program which is executed by the at least one processor (Kanfi, Paragraphs 42, 84; Fig. 1 memory [storage] includes a program which is executed by the machine (interpreted to be the processing unit of the management system 100 in this case) for executing the embodiments).
The remaining claim limitations have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, this claim is also obvious over Kanfi in view of Shah, further in view of Yochai.
Claims 6-7, 13-14, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Kanfi in view of Shah as applied to claim 1, and further in view of Gold (US 20140173226 A1).
Regarding claim 6, Kanfi in view of Shah teaches the storage space allocation method as claimed in claim 1, after obtaining the first corresponding relationship between the table object in the database and each virtual address in the virtual block of the first virtual address block list, and obtaining the second corresponding relationship between the virtual block and the physical block in the physical storage space that is pre-allocated, further comprising: monitoring the addition/deletion operations of data in each of the table objects in the virtual block (Kanfi, Paragraphs 58-60, 81; Fig. 1, object control processor 121 selects an allocation zone upon an allocation request [addition operation] for filesystem data [table object] within logical volume 200);
according to the monitored addition/deletion operations, obtaining a first virtual address in the first virtual block corresponding to the first data in each of the table objects based on the first corresponding relationship (Kanfi, Paragraphs 59-61, 64; Fig. 4a, writing to filesystems [table objects] includes obtaining the corresponding virtual address space 410, which includes [first] virtual addresses 411 containing [first] virtual blocks and corresponding [first] file data),
and obtaining a first physical address in the first physical block corresponding to each of the first virtual addresses based on the second corresponding relationship (Kanfi, Paragraph 61, employing data structures to obtain the corresponding physical address blocks [first physical address in the first physical block] from the virtual address blocks);
obtaining a second physical address in the second physical block for the second data after the addition/deletion operations (Kanfi, Paragraph 76; Fig. 5, step 540, allocating [obtaining] a [second] physical address range containing [second] physical blocks in the physical storage space in response to a write request [addition operation]), and
obtaining a second virtual address in the second virtual block corresponding to the second physical address based on the second corresponding relationship (Kanfi, Paragraphs 61, 76-77; Fig. 5, step 540, enabling associating the physical block address range with a respective portion of the virtual address unit, consisting of [second] virtual blocks and the corresponding [second] virtual addresses);
based on the storage status of the second physical address after the addition/deletion operations, updating the storage status of the second physical block (Kanfi, Paragraphs 64-65, 76; Figs. 4b and 5, step 540, enabling associating the physical block address range with the virtual allocation unit, such as associating [second] physical address range 421 with the virtual address range 411a of virtual allocation unit 411, indicates that the physical address range (consisting of [second] physical blocks) is of an allocated status),
and synchronously updating the storage status of the second virtual address and the storage status of the second virtual block (Kanfi, Paragraphs 61, 64-65, 76; Figs. 4b and 5, step 540, the enabling of association of physical address range 421 with [second] virtual address range 411a of virtual allocation unit 411 indicates that the virtual address range (consisting of [second] virtual blocks) is mapped and of an allocated status).
Kanfi in view of Shah does not explicitly teach concurrent addition/deletion operations.
However, Gold teaches concurrent addition/deletion operations (Paragraphs 53-54, concurrent deletion processes and write requests to objects are ran in parallel).
Kanfi, Shah, and Gold are analogous art because they are in the same field of endeavor, that being logical/physical object management. It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Kanfi in view of Shah to further include the concurrent addition/deletion operations according to the teachings of Gold. The motivation for doing so would have been to increase operational throughput.
Regarding claim 7, Kanfi in view of Shah, further in view of Gold teaches the storage space allocation method as claimed in claim 6, wherein the first preset space is equal to the second preset space (Kanfi, Paragraphs 47-48, physical blocks [second preset space] and their representative logical blocks [first preset space] are both 512 bytes [equal]),
wherein the virtual block is mapped to the physical block by using a virtual block number of the virtual block and a physical block number of the physical block (Kanfi, Paragraphs 61, 65; Fig. 4b, virtual address blocks [block numbers] are mapped to physical address blocks [block numbers]),
virtual block numbers of the virtual blocks in the virtual address block list are continuous numbers (Kanfi, Paragraph 65; Fig. 4b, consecutive virtual block address ranges 411a, 411b, and 411c), and
physical block numbers of the physical blocks corresponding to the virtual blocks in the virtual address block list are discontinuous numbers (Kanfi, Paragraph 65; Fig. 4b, discontinuous physical block address ranges 421 and 422 map to consecutive block address ranges 411a and 411b, respectively).
Regarding claim 13, this is a terminal device version of the claimed storage space allocation method discussed above (claim 6, respectively), wherein all claim limitations also have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, this claim is also obvious over Kanfi in view of Shah, further in view of Gold.
Regarding claim 14, this is a terminal device version of the claimed storage space allocation method discussed above (claim 7, respectively), wherein all claim limitations also have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, this claim is also obvious over Kanfi in view of Shah, further in view of Gold.
Regarding claim 20, this is a non-transitory storage medium version of the claimed storage space allocation method discussed above (claim 6, respectively), wherein all claim limitations also have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, this claim is also obvious over Kanfi in view of Shah, further in view of Gold.
Response to Arguments
Applicant’s arguments, see pages 22-27 of the remarks, filed 9/29/25, with respect to the rejections of claims 1 and 6 under 35 U.S.C 102 have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Kanfi, Shah, and Gold.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Jason Pinga whose telephone number is (571) 272-2620. The examiner can normally be reached on M-F 8:30am-6pm ET.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Arpan Savla, can be reached on (571) 272-1077. 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.
/TRACY A WARREN/Primary Examiner, Art Unit 2137
/J.M.P./Examiner, Art Unit 2137