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 .
DETAILED ACTION
This Office Action is in response to the amendment filed 03/24/2026.
Claims 1-5, 7-15, and 17-22 are pending in this application.
Claims 1,10 and 18 are independent claims.
Claims 1, 7, 10, 17, and 18 and 21-22 are currently amended.
This Office Action is made final.
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.
Use of the word “means” (or “step for”) in a claim with functional language creates a rebuttable presumption that the claim element is to be treated in accordance with 35 U.S.C. 112(f) (pre-AIA 35 U.S.C. 112, sixth paragraph). The presumption that 35 U.S.C. 112(f) (pre-AIA 35 U.S.C. 112, sixth paragraph) is invoked is rebutted when the function is recited with sufficient structure, material, or acts within the claim itself to entirely perform the recited function.
Absence of the word “means” (or “step for”) in a claim creates a rebuttable presumption that the claim element is not to be treated in accordance with 35 U.S.C. 112(f) (pre-AIA 35 U.S.C. 112, sixth paragraph). The presumption that 35 U.S.C. 112(f) (pre-AIA 35 U.S.C. 112, sixth paragraph) is not invoked is rebutted when the claim element recites function but fails to recite sufficiently definite structure, material or acts to perform that function.
Claim 18 elements in this application that use the word “credit allocation means” has/have been interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because it uses/they use a generic placeholder “means for ” coupled with functional language “storing” without reciting sufficient structure to achieve the function. Furthermore, the generic placeholder is not preceded by a structural modifier.
Further details about lack of structure are provided below as part of 112 (b) rejection and will not be repeated here.
If applicant wishes to provide further explanation or dispute the examiner’s interpretation of the corresponding structure (or lack of it), applicant must identify the corresponding structure with reference to the specification by page and line number, and to the drawing, if any, by reference characters in response to this Office action.
If applicant does not intend to have the claim limitation(s) treated under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112 , sixth paragraph, applicant may amend the claim(s) so that it/they will clearly not invoke 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, or present a sufficient showing that the claim recites/recite sufficient structure, material, or acts for performing the claimed function to preclude application of 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
For more information, see MPEP § 2173 et seq. and Supplementary Examination Guidelines for Determining Compliance With 35 U.S.C. 112 and for Treatment of Related Issues in Patent Applications, 76 FR 7162, 7167 (Feb. 9, 2011).
“means” (or “step for”) are presumed to invoke 35 U.S.C. 112(f) except as otherwise indicated in an Office action. Similarly, claim elements that do not use the word “means” (or “step for”) are presumed not to invoke 35 U.S.C. 112(f) except as otherwise indicated in an Office action.
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
Claims 18-20 are rejected under 35 U.S.C. 112(a), as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for pre-AIA the inventor(s), at the time the application was filed, had possession of the claimed invention.
As per claim 18 the limitations reciting “credit allocation means, operable to: determine a capability of a physical resource associated with the system ” lack adequate structure in the specification showing possession of the invention.
The remaining claims, not specifically mentioned, are rejected for being dependent upon claim 18.
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
Claims 18-20 are rejected under 35 U.S.C. 112(b), as being indefinite for failing to particularly point out and distinctly claim the subject matter which applicant regards as the invention.
As per claim 18, the limitations reciting “credit allocation means operable to: determine a capability of a physical resource associated with the system” are a limitation that invokes 35 U.S.C. 112, sixth paragraph.
However, the written description fails to disclose the corresponding structure, material, or acts for the claimed function.
Applicant may:
(a) Amend the claim so that the claim limitation will no longer be interpreted as a limitation under 35 U.S.C. 112, sixth paragraph; or
(b) Amend the written description of the specification such that it expressly recites what structure, material, or acts perform the claimed function without introducing any new matter (35 U.S.C. 132(a)).
If applicant is of the opinion that the written description of the specification already implicitly or inherently discloses the corresponding structure, material, or acts so that one of ordinary skill in the art would recognize what structure, material, or acts perform the claimed function, applicant should clarify the record by either:
(a) Amending the written description of the specification such that it expressly recites the corresponding structure, material, or acts for performing the claimed function and clearly links or associates the structure, material, or acts to the claimed function, without introducing any new matter (35 U.S.C. 132(a)); or
(b) Stating on the record what the corresponding structure, material, or acts, which are implicitly or inherently set forth in the written description of the specification, perform the claimed function. For more information, see 37 CFR 1.75(d) and MPEP §§ 608.01(o) and 2181.
The remaining claims, not specifically mentioned, are rejected for being dependent upon claim 18.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim 18 is rejected under 35 U.S.C. 102(a)(1) as anticipated by Singhal (US 2024/0264866 A1)
As per claim 18, Singhal teaches A system, comprising:
a credit allocation means, operable to: determine a capability of a physical resource associated with the system; determine the functionality of an application associated with the system (Singhal [0003] The storage management system is configured to calculate a dynamic cache limit [physical resource] for an application automatically and independent of (e.g., without) user input, based on usage of the application at a computing device, conditions of the computing device, or a combination thereof. Example parameters considered in computing the dynamic cache limit include usage frequency of the application, minimum data retention requirements for the application [functionality of application], available computing device storage, a storage consumption rate of the application, storage consumption by the application relative to at least one other application , size of digital content created or consumed by the application, data download frequency, frequently used digital content [functionality of application], and so forth), wherein the credit allocation means allocates one or more credits to the application based, at least in part, on the determined capability of the physical resource and on the functionality of the application, wherein the one or more credits represent an amount of available resources of the physical resource and provide the application access to the physical resource. (Singhal [0033] In implementations where the digital content 114 represents data obtained from a storage location other than the storage 104, the computing device 102 leverages the cache 112 to maintain a local copy of the digital content 114 for access by an application during execution of the application. By maintaining a local copy of the digital content 114 in the cache 112, the computing device 102 mitigates traffic on the network 120 that would otherwise be required to communicate a result of each operation (e.g., a result of every image editing operation) to a storage location that hosts the digital content (e.g., avoids communicating a result of each image editing operation via the network 120 to the computing device 118). Rather, the computing device 102 is configured to locally update the digital content 114 maintained in the cache 112 to reflect a result of one or more application operations performed at the computing device 102 [0092] Alternatively, in response to no cache limit recalculation being triggered (e.g., a “No” determination at block 506), a determination is made as to whether application data satisfies the dynamic cache limit (block 508). The storage management system 122, for instance, monitors the application data 106 associated with the application and maintained in storage 104 of the computing device 102. In response to detecting that a size of the application data 106 satisfies (e.g., is greater than or equal to) a threshold storage amount specified by the dynamic cache limit 124 (e.g., a “Yes” determination at block 508) at least a portion of application data is evicted from local storage of the computing device (block 510). The storage management system 122, for instance, causes the computing device 102 to evict at least a portion of the digital content 114 from the cache 112. In doing so, the storage management system 122 ensures that executing the application at the computing device 102 involves preventing the application from consuming an amount of storage defined by the dynamic cache limit 124. [0093] Alternatively, in response to detecting that a size of the application data 106 does not satisfy the dynamic cache limit 124 during the application session (e.g., a “No” determination at block 508), operation returns to block 506. The storage management system 122 continues enforcing the dynamic cache limit 124 until an end of the application session is detected (block 512). The storage management system 122, for instance, detects an end of an application session in response to closing of the application, after a period of inactivity with respect to the application, after shutdown of the computing device 102, and so forth. Upon detecting the end of the session, operation returns to block 502 for calculating a new instance of a dynamic cache limit 124 for a subsequent application session)
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-4, 10, 11-14 and 19-22 are rejected under 35 U.S.C. 103 as being unpatentable over Wakhare (US 2016/0291882 A1) in view of Singhal (US 2024/0264866 A1).
As per claim 1, Wakhare teaches A method, comprising:
receiving cache information associated with a cache of a data storage device; (Wakhare [0070] “Cache Utilization.sub.Total” may represent the total number of I/O operations originating from applications 208(1)-(N) that resulted in cache and/or SSD hits during the previous I/O cycle.)
determining a functionality of an application associated with a virtual machine; (Wakhare [0042] . Examples of applications 208(1)-(N) include, without limitation, VMs, virtual storage appliances, flows, software modules and/or programs running within one or more of the same, variations of one or more of the same, combinations of one or more of the same, or any other suitable applications. [0064] Additionally or alternatively, determination module 106 may identify a priority level of application 208(1) relative to applications 208(2)-(N). Determination module 106 may then determine the rate at which application 208(1) is allowed to deliver subsequent I/O throughput to hybrid storage system 214 during the subsequent period of time based at least in part on the approximate amount of I/O throughput 210 serviced by a high-speed storage device and the priority level of application 208(1) relative to applications 208(2)-(N). For example, determination module 106 may factor the approximate amount of I/O throughput 210 serviced by a high-speed storage device and the priority level of application 208(1) into a formula used to calculate the rate at which application 208(1) is allowed to deliver the subsequent I/O throughput to hybrid storage system 214 during the next 1-second I/O cycle. In this example, determination module 106 may scale applications 208(1)-(N) based on their priority levels by applying a weight representative of the corresponding priority level to each of applications 208(1)-(N). [0078] By calculating the number of I/O credits to allot to applications 208(1)-(N) in this way, determination module 106 may be able to make QoS decisions that maintain reasonably fair transfer rates and/or bandwidth shares for applications 208(1)-(N) across varying I/O cycles. Moreover, by calculating the number of I/O credits to allot to applications 208(1)-(N) in this way, determination module 106 may be able to avoid priority inversion of resources even in the unlikely event that the lowest priority application has the highest cache utilization and/or the highest priority application has the lowest cache utilization).
The examiner is taking application priority and cache utilization as shown above to define application functionality. This is consistent with what is disclosed in the specification ([0071] Based on receiving the physical device information and the application information, the credit allocation system determines (330) a number of credits that can be allocated to, or otherwise associated with, each application. As explained above, the amount of credits may be based on the priority of the application, the functionality of the application and so on.)
Wakhare does not teach based, at least in part, on the determined functionality of the application and the cache information, allocating credits for the application, each credit representing an amount of storage in the cache and providing the application access to the cache.
However, Singhal teaches based, at least in part, on the determined functionality of the application and the cache information, allocating credits for the application, each credit representing an amount of storage in the cache and providing the application access to the cache. (Singhal Fig 5 and [0003] The storage management system is configured to calculate a dynamic cache limit [credit] for an application automatically and independent of (e.g., without) user input, based on usage of the application at a computing device, conditions of the computing device, or a combination thereof. Example parameters considered in computing the dynamic cache limit include usage frequency of the application, minimum data retention requirements for the application [functionality of application], available computing device storage, a storage consumption rate of the application, storage consumption by the application relative to at least one other application , size of digital content created or consumed by the application, data download frequency, frequently used digital content [functionality of application], and so forth. [0092] Alternatively, in response to no cache limit recalculation being triggered (e.g., a “No” determination at block 506), a determination is made as to whether application data satisfies the dynamic cache limit (block 508). The storage management system 122, for instance, monitors the application data 106 associated with the application and maintained in storage 104 of the computing device 102. In response to detecting that a size of the application data 106 satisfies (e.g., is greater than or equal to) a threshold storage amount specified by the dynamic cache limit 124 (e.g., a “Yes” determination at block 508) at least a portion of application data is evicted from local storage of the computing device (block 510). The storage management system 122, for instance, causes the computing device 102 to evict at least a portion of the digital content 114 from the cache 112. In doing so, the storage management system 122 ensures that executing the application at the computing device 102 involves preventing the application from consuming an amount of storage defined by the dynamic cache limit 124. [0093] Alternatively, in response to detecting that a size of the application data 106 does not satisfy the dynamic cache limit 124 during the application session (e.g., a “No” determination at block 508), operation returns to block 506. The storage management system 122 continues enforcing the dynamic cache limit 124 until an end of the application session is detected (block 512). The storage management system 122, for instance, detects an end of an application session in response to closing of the application, after a period of inactivity with respect to the application, after shutdown of the computing device 102, and so forth. Upon detecting the end of the session, operation returns to block 502 for calculating a new instance of a dynamic cache limit 124 for a subsequent application session.)
The examiner believes the concept of threshold or limit of cache data used by an application (in Singhal) is consistent with what is disclosed in the specification in terms of credit ([0082] For example, the write command may be a command to write 1 GB of data in the cache and the VM/application may have been issued 500,000 credits, with each credit representing 4 KB of storage in the cache. However, the VM/application may have already consumed 400,000 credits and only has 100,000 credits remaining. In this example, execution of the write command requires 250,000 credits. Because the VM/application does not have 250,000 credits available, the credit allocation system will provide the VM/application access to the primary storage of the data storage device).
It would have been obvious to a person in the ordinary skill in the art before the effective filing date of the claimed invention to combine Singhal with the system of Wakhare to use an application cache credit system. One having ordinary skill in the art would have been motivated to use Singhal into the system of Wakhare for the purpose of allocating data storage among different applications. (Singhal paragraph 01)
As per claim 2, Singhal teaches receiving a data storage device access request from the application; determining whether the application has available credits; and based on determining the application has available credits, providing the application access to the cache. (Singhal [0093] Alternatively, in response to detecting that a size of the application data 106 does not satisfy the dynamic cache limit 124 during the application session (e.g., a “No” determination at block 508), operation returns to block 506. The storage management system 122 continues enforcing the dynamic cache limit 124 until an end of the application session is detected (block 512). The storage management system 122, for instance, detects an end of an application session in response to closing of the application, after a period of inactivity with respect to the application, after shutdown of the computing device 102, and so forth. Upon detecting the end of the session, operation returns to block 502 for calculating a new instance of a dynamic cache limit 124 for a subsequent application session.).
As per claim 3, Singhal teaches determining an amount of credits associated with the data storage device access request. (Singhal [0033] In implementations where the digital content 114 represents data obtained from a storage location other than the storage 104, the computing device 102 leverages the cache 112 to maintain a local copy of the digital content 114 for access by an application during execution of the application. By maintaining a local copy of the digital content 114 in the cache 112, the computing device 102 mitigates traffic on the network 120 that would otherwise be required to communicate a result of each operation (e.g., a result of every image editing operation) to a storage location that hosts the digital content (e.g., avoids communicating a result of each image editing operation via the network 120 to the computing device 118). Rather, the computing device 102 is configured to locally update the digital content 114 maintained in the cache 112 to reflect a result of one or more application operations performed at the computing device 102.)
As per claim 4, Singhal teaches consuming the amount of credits based, at least in part, on providing the application access to the cache. (paragraph 33 above and [0036] The dynamic cache limit 124 is representative of a value that specifies a threshold amount of data that an application is permitted to maintain in storage local to the computing device 102 (e.g., a maximum amount of storage 104 that the application is permitted to occupy). As described herein, the storage management system 122 is configured to calculate the dynamic cache limit 124 on an application-specific basis, such that in various implementations different applications are assigned different dynamic cache limits. Using the techniques described herein, the storage management system 122 is configured to fairly allocate storage 104 among different applications being run or executed by the computing device 102.)
As per claim 20, Singhal teaches the credit allocation means tracks an amount of credits consumed by the application as the application accesses the physical resource (Singhal [0037] The storage management system 122 is further representative of functionality of the computing device 102 to enforce the dynamic cache limit 124 for a given application (e.g., apply a data storage threshold described by the dynamic cache limit 124 for one or more sessions of the given application). For instance, the storage management system 122 is configured to monitor an amount of storage 104 used (e.g., consumed) by an application, relative to the dynamic cache limit 124 for the application. In response to identifying that an application stores an amount of application data 106 that satisfies (e.g., is greater than or equal to) the dynamic cache limit 124 for the application, the storage management system 122 causes the computing device 102 to evict at least a portion of the digital content 114 from the cache 112.)
As per claim 21, Wakhare teaches allocating credits for the application is based, at least in part, on a priority of the application relative to other applications executed by the virtual machine. (Wakhare [0069] Additionally or alternatively, determination module 106 may calculate the number of I/O credits to allot to each application by multiplying the total capacity of hybrid storage system 214 and the sum of that application's scaled priority weight and cache utilization relative to the sum of all of the scaled priority weights and the total cache utilization. In one example, the formula for calculating the number of I/O credits may be represented as: [0070] In this example, “Credits.sub.Application” may represent the number of credits (or IOPS) allotted to a particular application within applications 208(1)-(N) for the next I/O cycle, “Capacity.sub.Total” may represent the total capacity of hybrid storage system 214, “Scaled Priority Weight.sub.Application” may represent a scaled priority weight applied to a particular application within applications 208(1)-(N) based on the application's assigned priority level, “Cache Utilization.sub.Application” may represent the number of I/O operations originating from a particular application that resulted in cache and/or SSD hits during the previous I/O cycle, “User-specified Percentage of Cache” may represent a percentage of cache utilization (whether the total cache utilization or the individual cache utilizations) selected by a user for the next I/O cycle, “Scaled Priority Weight.sub.Total” may represent the total amount of scaled priority weights applied to applications 208(1)-(N), “Cache Utilization.sub.Total” may represent the total number of I/O operations originating from applications 208(1)-(N) that resulted in cache and/or SSD hits during the previous I/O cycle. For example, by applying information about I/O cycle 500 in FIG. 5 to this formula, determination module 106 may determine that: [0078] By calculating the number of I/O credits to allot to applications 208(1)-(N) in this way, determination module 106 may be able to make QoS decisions that maintain reasonably fair transfer rates and/or bandwidth shares for applications 208(1)-(N) across varying I/O cycles. Moreover, by calculating the number of I/O credits to allot to applications 208(1)-(N) in this way, determination module 106 may be able to avoid priority inversion of resources even in the unlikely event that the lowest priority application has the highest cache utilization and/or the highest priority application has the lowest cache utilization).
As per claim 22, Singhal teaches wherein the operations further comprise dynamically adjusting the determined number of credits allocated to the application based, at least in part, on changes to the functionality of the application (Singhal [0059] As described in further detail below, the download frequency 222 is useable by the storage management system 122 to identify whether storage allocated by the dynamic cache limit 124 is sufficient to optimize network traffic for the application. For instance, in implementations where the download frequency 222 indicates frequent downloads by the application, the storage management system 122 identifies that insufficient space in the cache 112 is allocated to the application and increases the dynamic cache limit 124 accordingly. In some scenarios, the frequently used content 220 is leveraged together with the download frequency 222, such that the storage management system 122 identifies instances when frequently used digital content is downloaded at a high frequency [change to the functionality of the application], which is indicative of insufficient storage 104 being allocated to the application. [0060] Information provided by the application usage module 202, the device conditions module 204, and the user behavior module 206 is then used by a storage limit module 224 of the storage management system 122 to compute the dynamic cache limit 124 for the application. [0061] The storage limit module 224 is configured to calculate the dynamic cache limit 124 for an application based on any one or more of the usage data 208, the retention requirements 210, the available storage 212, the storage consumption rate 214, the relative storage consumption 216, the content size 218, the frequently used content 220, or the download frequency 222 [0072] In this manner, the storage limit module 224 is configured to adapt the dynamic cache limit 124 for an application based on a current use of the application, current use of one or more different applications, and a current state of the computing device 102. Advantageously, using the techniques described herein the storage limit module 224 is configured to calculate the dynamic cache limit 124 automatically and independent of user input or intervention. Alternatively, in some implementations the storage limit module 224 is configured to calculate the dynamic cache limit 124 for an application in response to receiving user input requesting that a new storage limit be calculated for an application.)
As to claims 10,11 and 19, they are rejected based on the same reason as claim 1.
As to claim 12, it is rejected based on the same reason as claim 2.
As to claim 13, it is rejected based on the same reason as claim 3.
As to claim 14, it is rejected based on the same reason as claim 4.
Claims 5 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Wakhare (US 2016/0291882 A1) in view of Singhal (US 2024/0264866 A1) in further view of Bernat (US 2021/0255920 A1).
As per claim 5, Wakhare and Singhal do not teach releasing the amount of credits that were consumed based, at least in part, on transferring data from the cache to primary storage of the data storage device.
However, Bernat teaches releasing the amount of credits that were consumed based, at least in part, on transferring data from the cache to primary storage of the data storage device. (Bernat [0229] Processes could individually return credits once they are finished closing zones during powered operation 824, or the zone tracker 804 could make such observations and reclaim credits from processes. [0230] This released credit can either be reassigned by the garbage collection module 810 to another zone 820, or retrieved by the credit manager 806 for distribution to one of the other processes 812. [0237] s. A garbage collection process 1014 tracks credits held but not yet assigned to zones and credits assigned to zones).
It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Bernat with the system of Wakhare and Singhal to release credit. One having ordinary skill in the art would have been motivated to use Bernat into the system of Wakhare and Singhal for the purpose of managing blocks in the cache memory using a system of credits. (Bernat paragraph 30)
As to claim 15, it is rejected based on the same reason as claim 5.
Claims 7 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Wakhare (US 2016/0291882 A1) in view of Singhal (US 2024/0264866 A1) in further of Dalmatov (US 2021/0132830 A1).
As per claim 7, Wakhare and Singhal do not teach wherein the amount of storage is between 512 bytes and 128 kilobytes (KB).
However, Dalmatov teaches wherein the amount of storage is between 512 bytes and 128 kilobytes (KB). (Dalmatov [0054] As the amount of data grows (e.g., more blocks are added), storage management process 10 may increase the size of slices and combine adjacent slices to keep the number of slices at or below the threshold number of slices per storage object. While an example initial granularity has been described above as 128 kilobytes, it will be appreciated that storage management process 10 may dynamically align 512 the size of each slice of the plurality of slices starting with any granularity within the scope of the present disclosure).
It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Dalmatov with the system of Wakhare and Singhal and Bernat to use a certain amount of storage. One having ordinary skill in the art would have been motivated to use Dalmatov into the system of Wakhare and Singhal and Bernat for the purpose of protecting and distributing electronic content (Dalmatov paragraph 02).
As to claim 17, it is rejected based on the same reason as claim 7.
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over Wakhare (US 2016/0291882 A1) in view of Singhal (US 2024/0264866 A1) in further view of Knaup (US 2020/0387408 A1)
As per claim 8, Wakhare and Singhal do not teach the application is associated with a plurality of sub-applications and wherein allocating credits for the application includes sub-allocating credits to each of the plurality of sub-applications.
However, Knaup teaches the application is associated with a plurality of sub-applications and wherein allocating credits for the application includes sub-allocating credits to each of the plurality of sub-applications. (Knaup [0017] The database also stores various types of metadata about the task—for example which application it is part of, which user started it, the name and type of its environment (development, staging, production, etc.). The information persists after tasks finish execution so that usage profiles can be generated, and tasks can be classified into profiles, this allows the system to predict the usage profile of a new task based on past patterns [0020] limit a resource allocation of the first task or the second task. [assign resource credits to first or second task])
It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Knaup with the system of Wakhare and Singhal to use sub-application credits. One having ordinary skill in the art would have been motivated to use Knaup into the system of Wakhare and Singhal for the purpose of resolving interference on a cluster computing system. (Knaup paragraph 13)
Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over Wakhare (US 2016/0291882 A1) in view of Singhal (US 2024/0264866 A1) in further view of Ge (US 2023/0185723 A1)
As per claim 9, Wakhare and Singhal do not teach the cache is a single-level cell cache.
However, Ge teaches the cache is a single-level cell cache. (Ge [0109] In some examples, the allocation component 725 may be configured as or otherwise support a means for setting, in the single-level cell cache, an upper limit of the amount of space available to be written based at least in part on the level assigned, where writing the data to the single-level cell cache may be based at least in part on setting the upper limit).
It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Ge with the system of Wakhare and Singhal to use single-level cell cache. One having ordinary skill in the art would have been motivated to use Ge into the system of Wakhare and Singhal for the purpose of improving cache allocation techniques. (Ge paragraph 02)
Response to Arguments
Applicant's arguments filed on 03/24/2026 have been fully considered but they are not persuasive.
Applicant’s arguments with respect to claims 1, 10 and 18 have been considered but are moot because the arguments do not apply because of the introduction of new art by Singhal.
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 extension fee 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 date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MEHRAN KAMRAN whose telephone number is (571)272-3401. The examiner can normally be reached on 9-5.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor April Blair, can be reached on (571)270-1014. 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.
/MEHRAN KAMRAN/Primary Examiner, Art Unit 2196