DETAILED ACTION
This office action is in response to amendments/arguments filed on 8/31/2026.
Claims 3 – 5 and 10 – 20 are amended.
Claim 21 is added.
Claims 1 – 21 are pending.
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 .
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: "a kernel assignment unit..." in claims 1, 5 and 8, "a scan priority calculator..." in claims 1 and 3, "a cache query unit..." in claim 4, "a cache flush unit..." in claims 6 and 7, "a kernel release unit..." in claims 8 and 9.
Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
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.
Claim(s) 1, 2 and 5 is/are rejected under 35 U.S.C. 103 as being unpatentable over Muthulingam et al (US 20170116043, hereinafter Muthulingam), in view of Bernat et al (US 20200409748, hereinafter Bernat).
As per claim 1, Muthulingam discloses: An apparatus, comprising:
a storage device, the storage device storing a database including a table; (Muthulingam figure 1A and [0016])
a scan priority calculator to calculate a priority of a scan of the table in the database stored on the storage device, the scan associated with a query; (Muthulingam [0051]: “At block 202… task manager 150 of database server 120A receives scan row source request 114 to scan segment 124A.”; [0052]: “At block 204… task manager 150 of database server 120A creates scanning tasks 116A-116C to answer scan row source request 114, wherein scanning tasks 116A-116C are independently executable.”; [0057]: “Executing task priority levels in the helper thread pool (avoid work starvation by avoiding instances that are processing higher priority tasks—for example each task may be assigned a default priority that reduces with resource consumption)”; [0020]: “the server-side scan server can dynamically adjust resource allocation to service other database queries or processes with a higher priority.”.)
and a kernel assignment unit to assign the kernel to the scan based at least in part on the priority of the scan. (Muthulingam [0067]: “At block 206… IPC manager 152 of database server 120A distributes scanning tasks 116A-116C to execute on one or more database server instances, or server-side scan server instances 170A-170C, wherein each of server-side scan server instances 170A-170C includes a copy of segment 124A in an in-memory store.”)
Muthulingam did not explicitly disclose:
and an accelerator connected to the storage device, the accelerator including a kernel;
However, Bernat teaches:
and an accelerator connected to the storage device, the accelerator including a kernel; (Bernat figure 15 and [0092].)
It would have been obvious for obvious for one ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Bernat into that of Muthulingam in order to have an accelerator connected to the storage device, the accelerator including a kernel. Muthulingam [0045] teaches having a helper thread pool 176A carries out the scanning operations. Bernat figure 15 and [0092] teaches that it is commonly known in the field to use an accelerator to accelerate the performance of tasks, and can be easily adapted to perform the scanning operation to accelerate the scanning process, applicant thus have merely claimed the combination of known parts in the field to achieve predictable results of execute scanning tasks on accelerators and is therefore rejected under 35 USC 103.
As per claim 2, the combination of Muthulingam and Bernat further teach:
The apparatus according to claim 1, further comprising a receiver to receive the query from a client. (Muthulingam figure 1B and [0048])
As per claim 5, the combination of Muthulingam and Bernat further teach:
The apparatus according to claim 1, wherein the kernel assignment unit is configured to assign the kernel to the scan and a second scan based at least in part on the priority of the scan and a second priority of the second scan. (Muthulingam [0067]: “At block 206… IPC manager 152 of database server 120A distributes scanning tasks 116A-116C to execute on one or more database server instances, or server-side scan server instances 170A-170C, wherein each of server-side scan server instances 170A-170C includes a copy of segment 124A in an in-memory store.”; [0020]: “the server-side scan server can dynamically adjust resource allocation to service other database queries or processes with a higher priority.”)
Claim(s) 6 and 7 is/are rejected under 35 U.S.C. 103 as being unpatentable over Muthulingam and Bernat, and further in view of Bergsten et al (US 20020016935, hereinafter Bergsten).
As per claim 6, the combination of Muthulingam and Bernat did not teach:
The apparatus according to claim 1, further comprising a cache flush unit to flush a first cache of a database management system or a second cache of an operating system to the storage device.
However, Bergsten teaches:
The apparatus according to claim 1, further comprising a cache flush unit to flush a first cache of a database management system or a second cache of an operating system to the storage device. (Bergsten [0051])
It would have been obvious for obvious for one ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Bergsten into that of Muthulingam and Bernat in order to have a cache flush unit to flush a first cache of a database management system or a second cache of an operating system to the storage device. Bergsten [0051] teaches the claimed cache flush unit is a commonly known and used part for updating database, applicants have merely claimed the combination of known parts in the field to achieve predictable results of flushing database cache to the database and is therefore rejected under 35 USC 103.
As per claim 7, the combination of Muthulingam, Bernat and Bergsten further teach:
The apparatus according to claim 6, wherein the cache flush unit is configured to execute based at least in part on the database management system selecting the kernel to execute the scan. (Bergsten [0051])
Claim(s) 8 and 9 is/are rejected under 35 U.S.C. 103 as being unpatentable over Muthulingam and Bernat, and further in view of Zheng et al (US 20240354258, hereinafter Zheng).
As per claim 8, the combination of Muthulingam and Bernat did not teach:
The apparatus according to claim 1, further comprising a cache flush unit to flush a first cache of a database management system or a second cache of an operating system to the storage device.
However, Zheng teaches:
The apparatus according to claim 1, further comprising a cache flush unit to flush a first cache of a database management system or a second cache of an operating system to the storage device. (Zheng [0121] – [0122])
It would have been obvious for obvious for one ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Bergsten into that of Muthulingam and Bernat in order to have a cache flush unit to flush a first cache of a database management system or a second cache of an operating system to the storage device. Bergsten [0051] teaches the claimed cache flush unit is a commonly known and used part for updating database, applicants have merely claimed the combination of known parts in the field to achieve predictable results of flushing database cache to the database and is therefore rejected under 35 USC 103.
As per claim 9, the combination of Muthulingam, Bernat and Zheng further teach:
The apparatus according to claim 8, wherein: the kernel assignment unit is configured to associate a first timestamp with the kernel and the scan; and the kernel release unit is configured to release the kernel based at least in part on a threshold difference between the first timestamp and a second timestamp. (Zheng [0121] – [0122])
Claim(s) 10, 13, 14, 18 and 21 is/are rejected under 35 U.S.C. 103 as being unpatentable over Muthulingam et al (US 20170116043, hereinafter Muthulingam), in view of Smithson et al (USPAT 6802012, hereinafter Smithson).
As per claim 1, Muthulingam discloses: A method, comprising:
identifying a first scan of a table in a query, the table stored in a database on a storage device connected to the accelerator; determining a priority of the first scan; (Muthulingam [0051]: “At block 202… task manager 150 of database server 120A receives scan row source request 114 to scan segment 124A.”; [0052]: “At block 204… task manager 150 of database server 120A creates scanning tasks 116A-116C to answer scan row source request 114, wherein scanning tasks 116A-116C are independently executable.”; [0057]: “Executing task priority levels in the helper thread pool (avoid work starvation by avoiding instances that are processing higher priority tasks—for example each task may be assigned a default priority that reduces with resource consumption)”; [0020]: “the server-side scan server can dynamically adjust resource allocation to service other database queries or processes with a higher priority.”.)
and assigning the kernel to the first scan based at least in part on the priority of the first scan, (Muthulingam [0067]: “At block 206… IPC manager 152 of database server 120A distributes scanning tasks 116A-116C to execute on one or more database server instances, or server-side scan server instances 170A-170C, wherein each of server-side scan server instances 170A-170C includes a copy of segment 124A in an in-memory store.”)
Muthulingam did not explicitly disclose:
identifying a kernel in an accelerator;
wherein a second scan is assigned a second priority, the second priority different from the priority.
However, Bernat teaches:
identifying a kernel in an accelerator; (Bernat figure 15 and [0092].)
It would have been obvious for obvious for one ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Bernat into that of Muthulingam in order to identify a kernel in an accelerator. Muthulingam [0045] teaches having a helper thread pool 176A carries out the scanning operations. Bernat figure 15 and [0092] teaches that it is commonly known in the field to use an accelerator to accelerate the performance of tasks, and can be easily adapted to perform the scanning operation to accelerate the scanning process, applicant thus have merely claimed the combination of known parts in the field to achieve predictable results of execute scanning tasks on accelerators and is therefore rejected under 35 USC 103.
Smithson teaches:
wherein a second scan is assigned a second priority, the second priority different from the priority. (Smithson col 1, lines 33 – 41: “receiving requests to scan respective computer files together with data indicative of a computer user associated with respective requests to scan; storing within a store of pending scan requests data identifying said requests to scan together with data indicative of respective scan request priority levels for respective requests to scan, scan request priority level being dependent upon a computer user associated with a request to scan;”)
It would have been obvious for obvious for one ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Smithson into that of Muthulingam and Bernat in order to have a second scan is assigned a second priority, the second priority different from the priority. Muthulingam [0057] teaches the scanning tasks are giving default priority while [0023] hinted that there are different priority levels amongst the workloads. Smithson has introduced to explicitly show that the scan tasks have different priority level depending on the user associated with the scan request. Applicant thus have merely claimed the combination of known parts in the field to achieve predictable results of execute scanning tasks on accelerators and is therefore rejected under 35 USC 103.
As per claim 13, the combination of Muthulingam, Bernat and Smithson further teach:
The method according to claim 10, wherein: identifying the first scan of the table in the query includes identifying the first scan of the table and the second scan of a second table in the query; determining the priority of the first scan includes determining the priority of the first scan and the second priority for the second scan; and assigning the kernel to the first scan or the second scan based at least in part on the priority of the first scan and the second priority of the second scan. (Muthulingam [0067]: “At block 206… IPC manager 152 of database server 120A distributes scanning tasks 116A-116C to execute on one or more database server instances, or server-side scan server instances 170A-170C, wherein each of server-side scan server instances 170A-170C includes a copy of segment 124A in an in-memory store.”; [0020]: “the server-side scan server can dynamically adjust resource allocation to service other database queries or processes with a higher priority.”; also Smithson col 1, lines 33 – 41)
As per claim 14, the combination of Muthulingam, Bernat and Smithson further teach:
The method according to claim 10, further comprising executing the first scan using the kernel. (Muthulingam [0067]: “At block 206… IPC manager 152 of database server 120A distributes scanning tasks 116A-116C to execute on one or more database server instances, or server-side scan server instances 170A-170C, wherein each of server-side scan server instances 170A-170C includes a copy of segment 124A in an in-memory store.”)
As per claim 18, it is the non-transitory storage medium variant of claim 10 and is therefore rejected under the same rationale.
As per claim 21, the combination of Muthulingam and Bernat did not teach:
The apparatus according to claim 1, wherein the scan priority calculator is configured to calculate a second priority of a second scan in the database stored on the storage device, the second priority different from the priority.
However, Smithson teaches:
The apparatus according to claim 1, wherein the scan priority calculator is configured to calculate a second priority of a second scan in the database stored on the storage device, the second priority different from the priority. (Smithson col 1, lines 33 – 41: “receiving requests to scan respective computer files together with data indicative of a computer user associated with respective requests to scan; storing within a store of pending scan requests data identifying said requests to scan together with data indicative of respective scan request priority levels for respective requests to scan, scan request priority level being dependent upon a computer user associated with a request to scan;”)
It would have been obvious for obvious for one ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Smithson into that of Muthulingam and Bernat in order to have a second scan is assigned a second priority, the second priority different from the priority. Muthulingam [0057] teaches the scanning tasks are giving default priority while [0023] hinted that there are different priority levels amongst the workloads. Smithson has introduced to explicitly show that the scan tasks have different priority level depending on the user associated with the scan request. Applicant thus have merely claimed the combination of known parts in the field to achieve predictable results of execute scanning tasks on accelerators and is therefore rejected under 35 USC 103.
Claim(s) 15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Muthulingam, Bernat and Smithson, and further in view of Bergsten.
As per claim 15, the combination of Muthulingam, Bernat and Smithson did not teach:
The method according to claim 14, wherein executing the first scan using the kernel includes flushing a first cache of a database management system or a second cache of an operating system.
However, Bergsten teaches:
The method according to claim 14, wherein executing the first scan using the kernel includes flushing a first cache of a database management system or a second cache of an operating system. (Bergsten [0051])
It would have been obvious for obvious for one ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Bergsten into that of Muthulingam, Bernat and Smithson in order to have a cache flush unit to flush a first cache of a database management system or a second cache of an operating system to the storage device. Bergsten [0051] teaches the claimed cache flush unit is a commonly known and used part for updating database, applicants have merely claimed the combination of known parts in the field to achieve predictable results of flushing database cache to the database and is therefore rejected under 35 USC 103.
Claim(s) 16, 17 and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Muthulingam, Bernat and Smithson, and further in view of Zheng.
As per claim 16, the combination of Muthulingam, Bernat and Smithson did not teach:
The method according to claim 10, wherein: the kernel implements a hardware scan algorithm; and the method further comprises releasing the kernel based at least in part on a database management system selecting a software to execute the first scan.
However, Zheng teaches:
The method according to claim 10, wherein: the kernel implements a hardware scan algorithm; and the method further comprises releasing the kernel based at least in part on a database management system selecting a software to execute the first scan. (Zheng [0121] – [0122])
It would have been obvious for obvious for one ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Zheng into that of Muthulingam, Bernat and Smithson in order to have a kernel release unit configured to release the kernel based at least in part on a database management system selecting a software to execute the scan. Zheng [0121] – [0122] teaches the claimed kernel release unit is a commonly known and used part for scanning and updating database, applicants have merely claimed the combination of known parts in the field to achieve predictable results of scan the database and is therefore rejected under 35 USC 103.
As per claim 17, the combination of Muthulingam, Bernat, Smithson and Zheng further teach:
The method according to claim 16, wherein: assigning the kernel to the first scan based at least in part on the priority of the scan includes storing a first timestamp; and releasing the kernel based at least in part on the database management system selecting the software to execute the scan includes: determining a second timestamp; and determining that a difference between the first timestamp and the second timestamp exceeds a threshold difference. (Zheng [0121] – [0122])
As per claim 20, the combination of Muthulingam, Bernat and Smithson did not teach:
The article according to claim 18, the non-transitory storage medium having stored thereon further instructions that, when executed by the machine, result in releasing the kernel based at least in part on a database management system selecting a software to execute the scan.
However, Zheng teaches:
The article according to claim 18, the non-transitory storage medium having stored thereon further instructions that, when executed by the machine, result in releasing the kernel based at least in part on a database management system selecting a software to execute the scan. (Zheng [0121] – [0122])
It would have been obvious for obvious for one ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Zheng into that of Muthulingam and Bernat in order to have a kernel release unit configured to release the kernel based at least in part on a database management system selecting a software to execute the scan. Zheng [0121] – [0122] teaches the claimed kernel release unit is a commonly known and used part for scanning and updating database, applicants have merely claimed the combination of known parts in the field to achieve predictable results of scan the database and is therefore rejected under 35 USC 103.
Allowable Subject Matter
Claims 3, 4, 11, 12 and 19 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Response to Arguments
Applicant's arguments filed 8/31/2026 have been fully considered but they are not persuasive.
35 USC 112(f):
Applicant argued on page 7 that the terms “kernel assignment unit”, “scan priority calculator”, “cache query unit”, “cache flush unit” and “kernel release unit” are not generic placeholders coupled to functional language and not preceded by a structural modifier by arguing “The various elements may be implemented as software executing on a processor, or as hardware elements, such as FPGAs, ASICs, SoCs, CPUs, GPUs, GPGPUs, DPUs, and/or TPUs, among other possibilities. All such implementations include some hardware element, and therefore include structure.”
The examiner disagrees as applicant appears to be actually arguing for the merit of the 112(f) interpretation of those terms by stating that they are “software executing on a processor, or as hardware elements, such as FPGAs, ASICs, SoCs, CPUs, GPUs, GPGPUs, DPUs, and/or TPUs”. Applicant’s arguments merely confirms the claimed terms meets the requirements of 112(f), as the claims do not contain the actual hardware components used to implement those components, but merely claims generic placeholders coupled to functional language describing the functions of those components.
35 USC 103 rejection:
Claim 1:
Applicant argued on pages 8 – 9 that the combination of Muthulingam and Bernat does not teach the limitations of claim 1.
First, applicant argued that Muthulingam “only says that a task may be assigned a default priority. Nowhere… how the default priority is calculated;
The examiner disagrees with the assertion. Muthulingam [0057] teaches an example where each task may be assigned a default priority. Examiner would like to point out that assigning a priority is functional equivalent to the claimed “calculate a priority”, applicant’s argument is therefore not persuasive.
Second, applicant argued that Muthulingam’s tasks are allocated to servers not based on their priority.
The examiner disagrees. The claimed limitations only requires the assignment of kernel to scan based at least in part on the priority of the scan, and since the tasks have been assigned default priority, their assignment to servers are based at least in part on that default priority assigned.
Third, applicant argued that Bernat only teaches an accelerator and not an accelerator is used to process a query.
The examiner disagrees as Muthulingam already teaches using a resource(server) to process a scan query, Bernat is merely introduced to show the resource can be accelerator as well. In response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986).
Claim 5:
Applicant argued on pages 9 – 10 that the combination of Muthulingam and Bernat does not teach the limitations of claim 5 of “assign the kernel to the scan of the scan and a second scan based at least in part on the priority of the scan and a second priority of the second scan”.
The examiner disagrees. The claimed limitation does not require the second priority to be different from the first priority, and thus can be just the default priority assigned to reduce resource consumption. The claimed limitations only requires the assignment of kernel to scan based at least in part on the priority of the scan, and since the tasks have been assigned default priority, their assignment to servers are based at least in part on that default priority assigned.
Applicant’s arguments with respect to claim(s) 10 – 21 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
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 CHARLES M SWIFT whose telephone number is (571)270-7756. The examiner can normally be reached Monday - Friday: 9:30 AM - 7PM.
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, April Blair can be reached at 5712701014. 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.
/CHARLES M SWIFT/Primary Examiner, Art Unit 2196