Notice of Pre-AIA or AIA Status
The present application is being examined under the pre-AIA first to invent provisions.
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 8 December 2025 has been entered.
Remarks
Examiner initially notes that Applicant’s representative and Examiner spoke in late September 2024 to discuss ways to advance the claims. While no specific claim language was discussed, Examiner suggested features from paragraphs [0113]-[0116] of the specification as filed, which include a query delay manager that may execute requests at once or hold execution of requests and include priority class buckets from which queries are selected for execution based on a priority associated with each bucket. It is noted that Examiner still believes that such features, including the query delay manager and the use of priority buckets by said query delay manager, if properly claimed in the independent claims, would advance prosecution.
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp.
Claims 19-20 are non-provisionally rejected on the ground of nonstatutory double patenting as being unpatentable over claim 1 of U.S. Patent No. 10,042,674. Although the claims at issue are not identical, they are not patentably distinct from each other because the substantive subject matter of the current claims is contained within the subject matter of claims of U.S. Patent No. 10,042,674 respectively. The only substantive difference between the application claim and the patent claim include the present application explicitly stating that the context of all changes is a database system, describing an “effective clock processing rate” rather than an “actual processing rate,” and implementing a “lower effective clock processing rate” rather than “skipping one or more clock cycles.”
These differences in wording are obvious or not substantive changes. Ensuring that the claimed subject matter is operated in a database system -without additional claimed details regarding the database system - is merely an obvious context to operating the invention. Additionally, an effective clock processing rate is a type of actual processing rate that can be measured. Adjusting and lowering an effective clock processing rate is synonymous with skipping one or more clock cycles.
A representative claim 19 is shown in the table below.
Application 16/043,205
US 10,042,674
19. A system that includes one or more processors operable to:
control capacity of a database system that includes one or more database nodes operable to process data stored in a database, wherein each one of the one or more database nodes can use one or more resources in connection with the processing of the data stored in the database; and
1. A computer-implemented method of controlling capacity of a database system that includes one or more database nodes operable to process data stored in a database managed by the database system, wherein each one of the database nodes includes at least one physical processor and non-transitory computer readable storage medium configured to be accessed by the at least one processor, wherein the at least one physical processor is further configured to use one or more resources of the database system in connection with the processing of the data stored in the database, and wherein the computer-implemented method comprising:
obtaining, by at least one physical processor, a target capacity of the database system as a desired overall target capacity of the database determined at least partly based on a performance goal value of the database;
change capacity of the database system from a current computing capacity to another computing capacity that is effectively lower than the current capacity, by causing usage capacity of at least one of the resources to be changed from a current usage capacity to another usage capacity different than the current usage capacity, by at least performing the following:
effectively changing, by the at least one physical processor, from a current computing capacity to another computing capacity that is different than the current capacity to achieve the overall target capacity of the database system, by at least causing usage capacity of at least one of the resources to be changed, at least partly based on the target capacity, from a current usage capacity to another usage capacity different than the current usage capacity when the database system is operational and processing the data in the database, and
wherein the causing of the usage capacity of the least one resource to be changed comprises:
changing the capacity of at least one of the database nodes of the database system from a current capacity to a different capacity, by at least performing the following:
Changing the effective clock processing rate of one or more physical processors of the at least one of the database nodes of the database system from a current effective processing clock processing rate to a lower effective clock processing rate; and
changing the actual processing rate of one or more physical processors of the at least one of the database nodes of the database system from a current processing rate to a different processing rate to achieve the desired overall the target capacity of the database system, by at least skipping one or more clock cycles based on performance improvement recommendations monitored by a usage regulator; and
effectively changing access capacity of at least one of the computing resources of the at least one of the database nodes of the database system from a current access capacity to a different access capacity.
effectively changing access capacity of at least one of the computing resources of the at least one of the database nodes of the database system from a current access capacity to a different access capacity to achieve the desired overall the target capacity of the database system.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of pre-AIA 35 U.S.C. 103(a) which forms the basis for all obviousness rejections set forth in this Office action:
(a) A patent may not be obtained though the invention is not identically disclosed or described as set forth in section 102, if the differences between the subject matter sought to be patented and the prior art are such that the subject matter as a whole would have been obvious at the time the invention was made to a person having ordinary skill in the art to which said subject matter pertains. Patentability shall not be negatived by the manner in which the invention was made.
Claims 1-8 and 10-18 are rejected under pre-AIA 35 U.S.C. 103(a) as being unpatentable over Sivasubramanian et al. (US Pre-Grant Publication 2010/0250748) in view of Barsness et al. (US Pre-Grant Publication 2012/0215764), and further in view of Fowler et al. (US Patent 5,964,835).
As to claim 1, Sivasubramanian teaches a computer-implemented method for controlling capacity of a database system that includes one or more database nodes operable to process database queries of data stored in a database, wherein each one of the database nodes can use one or more resources in connection with the processing of the data stored in the database, the computer-implemented method comprising:
Obtaining, by the database system, a database query of the data stored in the database (see paragraph [0036]. The user may issue queries against a database),
Wherein the database query is associated with a first user of the database (see paragraphs [0024] and [0036]. A user may submit a query. Because the user submits the query, the query is “associated” with the user);
Obtaining … , by the database system, at least one database service criterion of the first user indicative of an allocated database system processing capacity allocated for processing the database queries associated with the first user of the database (see paragraph [0038]. Each customer, or user, may specify thresholds for capacities. The system is able to monitor usage of the system by the customer to determine whether a threshold of usage will be met or exceeded. Based on a rate of increase of usage, the system can determine actions to take, such as scaling of capacity for a given customer. This information is obtained “for a query” because queries are tasks that make use of the system resources);
Monitoring, by the database system, access capacity of the database system being utilized to process database queries associated with the first user of the database (see paragraph [0035]. Sivasubramanian monitors current usage of system resources for processing tasks and compares the current usage to a threshold. It is noted that usages are related to customers who have defined thresholds ([0038]) and queries are tasks that make up resources that are used in the system and that users may submit queries ([0024]-[0025])),
Wherein the access capacity is determined, by the database system, at least partly based on one or more workload priorities of one or more database queries of the database, including the obtained database query (see paragraphs [0038]-[0040]. A customer may set preferences for how the system should react to access capacities approaching a threshold. These preferences are “workload priorities” that are “associated with a user.” Thus, access capacity is at least partly based on workload priorities of the database queries),
wherein the one or more database queries are made by the first user (see paragraph [0025]. The user may access the database management system to submit queries. The DBMS receives and executes queries. The query governor may determine runtime for the query and may enable the usage of additional resources in processing the query),
…
Determining, based on the monitoring of the access capacity and the database service criteria of the first user of the database and the obtained at least one database service criterion of the first user, a target computing capacity for processing the database query associated with the first user of the database (see paragraph [0038]. The current usage is compared to a service threshold associated with a user, or a “service criterion.” When needed, the system scales the resources of the user to a target capacity);
Changing, by the database system, processing capacity of the database system … from a current computing capacity to the determined target computing capacity obtained … wherein the determined target computing capacity is different than the current capacity …, by at least causing usage capacity of at least one of the resources … to be changed from a current usage capacity to another usage capacity different than the current usage capacity (see Sivasubramanian paragraphs [0013] and [0015] for general discussion of manually or automatically changing the data environment. Also see [0016] and Figure 6 for showing that and a customer may authorize automatically increasing processing capacity or storage capacity by the database system. Also see paragraph [0038], which discusses scaling resources), by performing at least the following:
…
Thereby effectively changing, by the database system, access capacity of at least one of the computing resources of the at least one of the database nodes of the database system from a current access capacity to a different access capacity (see paragraphs [0013], [0015]-[0016] and [0048]. Storage capacity may be adjusted automatically by the database system)
…
Sivasubramanian does not explicitly show:
Obtaining, for the database query, by the database system, at least one database service criterion of the first user indicative of an allocated database system processing capacity allocated for processing the database queries associated with the first user of the database,
wherein the workload priorities are priorities assigned to management of database queries processed as a database workload by the database system, wherein the database workload represents an amount of processing performed by the database system in a determined period of time, and wherein the workload priorities are assigned to satisfy one or more goals associated with the database workload;
Changing, by the database system, processing capacity of the database system for processing the obtained database query from a current computing capacity to the determined target computing capacity obtained for processing the obtained database query, where the determined target computing capacity is different than the current capacity for processing the obtained database query, by at least causing usage capacity of at least one of the resources configured to process the obtained database query to be changed from a current usage capacity to another usage capacity different than the current usage capacity;
Changing, based on the determined target computing capacity, by the database system, one or more actual clock rates of one or more physical processors of at least one of the database nodes of the database system for processing the obtained database query from one or more current actual clock rates to one or more different actual clock rates of the one or more physical processors of the at least one of the database nodes of the database system,
By at least skipping one or more actual clock cycles of the one or more physical processors,
Wherein the one or more physical processors are configured to process the database query of the database; and
Wherein the access capacity includes the processing capacity to process one or more database queries of the database; and
Processing of the obtained database query associated with the first user of the database data, by the at least one of the database nodes pursuant to the determined target computing capacity.
Barsness teaches:
Obtaining, by the database system, a database query of the data stored in the database (see paragraphs [0048]-[0049]. The system receives a query. The query governor evaluates the query to determine whether to use additional performance capabilities of the system to manage query execution),
Wherein the database query is associated with a first user of the database (see paragraphs [0025] and [0027]. Queries are associated with users);
Obtaining, for the database query, by the database system, at least one database service criterion of the first user indicative of an allocated database system processing capacity allocated for processing the database queries associated with the first user of the database (see paragraph [0050]. A requesting entity, such as a user, may submit a threshold amount of time for a query to be completed in. This is a “database service criterion of the first user” that is indicative of a processing capacity currently allocated for queries);
Monitoring, by the database system, access capacity of the database system being utilized to process database queries associated with the first user of the database, Wherein the access capacity is determined, by the database system, at least partly based on one or more workload priorities of one or more database queries of the database, including the obtained database query, wherein the one or more database queries are made by the first user (as noted in paragraph [0041], queries may have priority classes which are used to calculate a maximum allowable runtime, which is used when calculating access capacity),
wherein the workload priorities are priorities assigned to management of database queries processed as a database workload by the database system, wherein the database workload represents an amount of processing performed by the database system in a determined period of time, and wherein the workload priorities are assigned to satisfy one or more goals associated with the database workload (see Barsness paragraph [0041]. Barsness discusses assigning priorities to queries and allocating processing power to queries such that high-priority queries are processed more quickly than low priority queries. Barsness also discusses setting maximum amounts of time to process queries, showing that the priorities “represent an amount of processing performed by the database system in a determined period of time.” Barsness also discusses goals associated with the database system, including whether an application is mission critical or not, showing that the priorities are assigned to satisfy one or more goals associated with the database workload);
…
Changing, by the database system, processing capacity of the database system for processing the obtained database query from a current computing capacity to the determined target computing capacity obtained for processing the obtained database query, where the determined target computing capacity is different than the current capacity for processing the obtained database query, by at least causing usage capacity of at least one of the resources configured to process the obtained database query to be changed from a current usage capacity to another usage capacity different than the current usage capacity (see paragraph [0048]. The query governor determines whether to use additional performance capabilities of the system resources to ensure that a query is completed within a threshold amount of time. This will ensure that queries are processed with an acceptable amount of time. It is noted that Sivasubramanian describes that resources that may be extended as needed by a database system, as cited above);
Changing, based on the determined target computing capacity, by the database system, one or more actual clock rates of one or more physical processors of at least one of the database nodes of the database system for processing the obtained database query from one or more current actual clock rates to one or more different actual clock rates of the one or more physical processors of the at least one of the database nodes of the database system (see paragraphs [0046]-[0048]. The physical processors may use a higher cycle rate to process a query when needed. Also see paragraph [0033], which discusses how the processor may change cycle rates based on instructions from a query governor. Cycle rates are clock rates. Examiner notes that the element “actual clock rate” is being interpreted as “clock rate,” which is supported by the specification at paragraph [0077]),
…
wherein the one or more physical processors are configured to process the database query of the database (see paragraph [0048]);
Wherein the access capacity includes the processing capacity to process one or more database queries of the database (see paragraph [0048]); and
Processing of the obtained database query associated with the first user of the database data, by the at least one of the database nodes pursuant to the determined target computing capacity (see paragraph [0048]. Additional performance capacities of the system resources, such as a higher cycle rate for a processor, may be used to execute a query).
It would have been obvious to one of ordinary skill in the art at the time the invention was made to have modified Sivasubramanian by the teachings of Barsness because both references are directed towards monitoring usage of system resources in performing tasks and adjusting performance of those system resources in response to the usage. Barsness simply provides a user of Sivasubramanian the ability to adjust additional system resources in response to a threshold need to execute a task, which will ensure that users will have tasks, such as queries, done within an acceptable amount of time in Sivasubramanian.
Fowler teaches:
changing … one or more actual clock rates of one or more physical processors of at least one of the database nodes of the database system … By at least skipping one or more actual clock cycles (see 54:32-51. Fowler shows that a SKIP command may be used to change clock rates between a faster data device and a slower data device to ensure synchronization between both data devices).
It would have been obvious to one of ordinary skill in the art at the time the invention was made to have modified Sivasubramanian by the teachings of Fowler because both references are directed towards monitoring usage of system resources in performing tasks and adjusting performance of those system resources in response to the usage. Fowler simply provides a user of Sivasubramanian and Barsness more defined control to adjust the processor speed of a database element to prevent overflow when two database elements have different processor speeds (see 54:42-51), which will ensure that system communication between database elements in Sivasubramanian does not fail.
As to claim 2, Sivasubramanian as modified teaches the computer-implemented method of claim 1, wherein the causing of the usage capacity of the least one resource to be changed comprises:
causing the capacity of the at least one resource to be changed when the database system is operational (see Sivasubramanian [0049]. Resources may be scaled without affecting the availability of the resources).
As to claim 3, Sivasubramanian teaches the computer-implemented method of claim 1, wherein the causing of the usage capacity of the least one resource to be changed comprises:
causing the capacity of at least one resource to be changed dynamically at runtime (see Sivasubramanian [0047]-[0049]. Resources may be changed as the system is operating).
As to claim 4, Sivasubramanian teaches the computer-implemented method of claim 3,
wherein the database system includes multiple database nodes operable to process data stored in the database and access at least one of the resources in parallel (see Sivasubramanian paragraphs [0020] and [0024]. Multiple databases may exist. As noted in paragraph [0030], tasks may be performed on databases in parallel), and
wherein the causing of the usage capacity of the least one resource to be changed comprises:
causing capacity of first and second resources that can be accessed respectively by first and second nodes of the multiple nodes to be changed (see Sivasubramanian paragraphs [0047]-[0051]. Storage capacity may be changed).
As to claim 5, Sivasubramanian teaches the computer-implemented method of claim 4, wherein the causing of capacity of first and second resources to be changed is performed when the database is processing data, dynamically, at runtime (see Sivasubramanian paragraph [0051]. Also see Barsness paragraphs [0046]-[0048]).
As to claim 6, Sivasubramanian teaches the computer-implemented method of claim 1, wherein the computer-implemented method further comprises:
obtaining a target computing capacity for the database system, wherein the target computing capacity is the less than the full computing capacity of the database system (see Sivasubramanian paragraphs [0048]-[0051]. A user may submit a target that is less than the full capacity, also shown in Figure 6); and
wherein the causing of usage capacity of the least one resource to be changed cause the capacity of the at least one resource to be changed based on the target capacity (see Sivasubramanian paragraphs [0048]-[0051]. Also see Barsness paragraphs [0046]-[0048] to change the clock rate of a processor in response to usage parameters).
As to claim 7, Sivasubramanian teaches the computer-implemented method of claim 1, wherein the resources that can be accessed by one or more database nodes includes one or more of the following:
one or more processors, one or more other computing resources, access to Input/Output (I/O) associated with the database, access to one or more operations, access to one or more database operations (see Sivasubramanian paragraphs [0046]-[0051] for examples of at least processors and computing resources).
As to claim 8, Sivasubramanian teaches the computer-implemented method of claim 1, wherein the computer-implemented method further comprises:
limiting usage of at least one of database nodes of the database system beyond a level at which usage can be provided when usage of the at least database is regulated at full capacity (see Sivasubramanian paragraphs [0038]-[0039] and [0046] and Figure 6. Usage is limited to be less than capacity).
As to claim 10, Sivasubramanian teaches the computer-implemented method of claim 8, wherein the limiting of the usage of least one the database nodes of the database system comprises:
effectively delaying access to at least one of the computing resources, thereby delaying usage of the at least one computing resource (see Sivasubramanian paragraph [0052]. Access may be delayed during a maintenance period).
As to claim 11, Sivasubramanian teaches the computer-implemented method of claim 10, wherein the effectively delaying access to at least one of the computing resources comprises:
scheduling access to the at least one computing resource according to a determined delay period (see Sivasubramanian paragraph [0052]. Access may be scheduled around a maintenance window period).
As to claim 12, Sivasubramanian teaches the computer-implemented method of claim 1, wherein the changing of the capacity of the database system comprises:
controlling the computing capacity of the database system based on a target computing capacity (see Sivasubramanian paragraphs [0045]-[0046] and Figure 6. Target computing capacities may be set by a user) by one or more of the following:
regulating the computing capacity of at least one of multiple database nodes of the database system (see Sivasubramanian paragraphs [0045]-[0046]) by limiting at least one:
(i) processing or execution capacity of one or more processors of one or more of the database nodes (see Sivasubramanian paragraphs [0045]-[0046]. Processing capacity on a database node may be regulated. Also see Barsness paragraphs [0046]-[0048] for changing clock rates, which affects processing or execution capacity of one or more processors), and
(ii) I/O usage of one or more processors of one or more of the database nodes.
As to claim 13, Sivasubramanian teaches the computer-implemented method of claim 1, wherein the computer-implemented method further comprises:
obtaining monitored computing usage data by monitoring computing usage of one or more database nodes of the database system (see Sivasubramanian paragraphs [0045]-[0046]. Also see Barsness paragraphs [0046]-[0048]); and
Docket No. 20788C0167controlling the computing capacity of the database system based on the monitored computing usage data (see Sivasubramanian paragraphs [0045]-[0046]. Also see Barsness paragraphs [0046]-[0048].
As to claim 14, Sivasubramanian teaches the computer-implemented method of claim 1, wherein the limiting of the usage comprises:
monitoring computing usage of at least a first activity that is not regulated with respect to its usage of at least one of the resources (see Sivasubramanian paragraphs [0038] and [0043]-[0044]. Read activity may be monitored, with respect to memory and processing capacity);
determining, at least partially based on the monitored computing usage data, whether to regulate or change regulation of the computing usage of a second activity (see Sivasubramanian paragraphs [0043]-[0044]. Processing and memory can be addressed); and
initiating regulation or changing the regulation of the computing usage of the second activity with respect to one or more of the resources when the determining determines to limit the computing usage of the second activity (see Sivasubramanian paragraphs [0043]-[0044]. Processing and memory can be addressed).
As to claim 15, Sivasubramanian teaches the computer-implemented method of claim 1, where the computer-implemented method further comprises:
obtaining a target computing capacity for the database system (see Sivasubramanian paragraphs [0046]-[0051]. Also see Barsness paragraphs [0046]-[0048]); and
regulating the computing usage of one or more database activities associated with the database system based on the target computing capacity (see Sivasubramanian paragraphs [0046]-[0051]. Also see Barsness paragraphs [0046]-[0048]).
As to claim 16, Sivasubramanian teaches the computer-implemented method of claim 1, wherein the computer-implemented method further comprises:
monitoring the one or more database activities at least with respect to their usage of the one or more resources (see Sivasubramanian paragraphs [0045]-[0046]); and
regulating the computing usage of one or more database activities based on the monitoring of the one or more database activities when the database is active (see Sivasubramanian paragraphs [0045]-[0046]. Also see Barsness paragraphs [0046]-[0048]).
As to claim 17, Sivasubramanian teaches the computer-implemented method of claim 1, wherein the computer-implemented method further comprises:
determining, based on one or more criteria, whether to change capacity of the database system from the current computing capacity to the other computing capacity (see Sivasubramanian paragraphs [0048]-[0051]. Also see Barsness paragraphs [0046]-[0048]).
As to claim 18, Sivasubramanian as modified teaches the computer-implemented method of claim 1, wherein the one or more criteria comprises one or more of the following:
managing a service of the database (see Sivasubramanian paragraphs [0048]-[0051]);
managing a service level associated with a service of the database (see Barsness paragraph [0039]); and
meeting a service level goal and/or service level agreement (see Barsness paragraph [0039]).
Claims 19-20 are rejected under pre-AIA 35 U.S.C. 103(a) as being unpatentable over Sivasubramanian et al. (US Pre-Grant Publication 2010/0250748) in view of Gibson et al. (US Pre-Grant Publication 2011/0239220).
As to claim 19, Sivasubramanian teaches a system that includes one or more processors operable to::
Control capacity of a database system that includes one or more database nodes operable to process data stored in a database, wherein each one of the one or more database nodes can use one or more resources in connection with the processing of the data stored in the database (see Sivasubramanian paragraphs [0013] and [0015] for general discussion of manually or automatically changing the data environment. Also see [0016] and Figure 6 for showing that and a customer may authorize automatically increasing processing capacity or storage capacity by the database system); and
change capacity of the database system from a current computing capacity to another computing capacity that is [different] than the current capacity, by causing usage capacity of at least one of the resources to be changed from a current usage capacity to another usage capacity different than the current usage capacity (see paragraphs [0013], [0015]-[0016] and [0048]),
…
effectively changing access capacity of at least one of the computing resources of the at least one of the database nodes of the database system from a current access capacity to a different access capacity (see paragraphs [0013], [0015]-[0016] and [0048]. Storage capacity may be adjusted automatically by the database system).
Sivasubramanian does not explicitly show:
change capacity of the database system from a current computing capacity to another computing capacity that is effectively lower than the current usage capacity by at least performing the following:
changing the effective clock processing rate of one or more physical processors of the at least one of the database nodes of the database system from a current effective processing clock processing rate to a lower effective clock processing rate.
Gibson teaches:
change capacity of the database system from a current computing capacity to another computing capacity that is effectively lower than the current usage capacity by at least performing the following:
changing the clock rate of one or more physical processors of the at least one of the database nodes of the database system from a current processing rate to a different processing rate (see paragraph [0015]. Gibson shows to monitor tasks for performance. Each task has an associated performance parameter. By comparing the monitored performance with the performance parameter, Gibson shows to modify a processor clock rate for the monitored task. Also see paragraphs [0047] for monitoring resource usage and [0060] for monitoring and adjusting clock rates of processors. Also see paragraph [0060], which states that “the requested clock rate can be adjusted down without adversely reducing the rate of work completed.” Thus, Gibson explicitly shows changing the clock rate by adjusting the clock rate downward); and
It would have been obvious to one of ordinary skill in the art at the time the invention was made to have modified Sivasubramanian by the teachings of Gibson because both references are directed towards monitoring usage of system resources in performing tasks and adjusting performance of those system resources in response to the usage. Gibson simply provides a user of Sivasubramanian the ability to adjust additional system resources, which will increase the responsiveness of Sivasubramanian to a customer’s need.
As to claim 20, see the rejection of claim 19. For the limitation “effectively changing access capacity of at least one of the computing resources of the at least one of the database nodes of the database system from a current access capacity to a lower access capacity,” see Sivasubramanian paragraph [0050] for decreasing the storage capacity for a customer.
Response to Arguments
Applicant's remaining arguments filed 8 December 2025 have been fully considered but they are not persuasive.
Applicant argues that “It is respectfully submitted that the Examiner has NOT properly addressed this feature. Instead, the Examiner has merely asserted that Sivasubramainian teaches "workload priorities," but this assertion does NOT address workload priorities of one or more database queries. In fact, it is apparent that Sivasubramainian cannot possibly teach the claimed feature as it is directed to data volumes and not database system configured to process database queries.”
In response to this argument, it is noted that Sivasubramainian modified by Barsness does teach “workload priorities” in a database system configured to process database queries.
Sivasubramanian teaches the “database system” to the extent claimed (see Abstract, and paragraphs [0012]-[0013] and [0015]-[0016], which all indicate that data environments may be accessed. The data environment is indicative of a database system). The storage volumes of Sivasubramanian are resources that may be allocated and updated as customer needs and context change. It is noted that paragraph [0024] explicitly indicates that Sivasubramainian is directed towards querying relational data sets and paragraph [0036] explicitly states that a user can issue structured query language relating to data. Thus, in light of the data environment of Sivasubramainian and ability of Sivasubramainian to handle queries, Sivasubramainian clearly shows a database system configured to process database queries.
Sivasubramainian, at paragraphs [0038]-[0040], show that a customer may set preferences for how the system should react to access capacities approaching a threshold. These preferences are “workload priorities” that are “associated with a user.” Thus, access capacity is at least partly based on workload priorities of the database queries. Barsness, in paragraph [0041], shows how “workload priorities” may also be set for given queries. Thus, the references combined teach the claimed subject matter.
Applicant argues that “Although, Barnes is directed to optimization of database queries, it also fails to teach monitoring work workload priorities of one or more database queries. Barness teaches storage access validation to data messages. As such, it is apparent that Barness also fails to teach monitoring work workload priorities of one or more database queries.”
In response to this argument, it is noted that Barsness paragraph [0041] shows that a query governor may consider “a priority value associated with the query” and “a class of the query” when determining how much time is allocated to a query. Both of these ideas are “workload priorities of one or more database queries” that determine resource availability. Thus, Sivasubramainian in view of Barsness does teach the claimed subject matter.
Applicant argues that “Accordingly, it is respectfully submitted that Sivasubramainian, Barnes, and Folwer take alone, or in combination even assuming purely arguendo that they can be combined (Which they cannot because, among other things, Barness teaches away from skipping one or more clock cycles of a processor as it teaches using additional performance capabilities for limited period of time (Paragraph [0046-0048] of Barness)) do NOT teach or suggest "monitoring, by the database system, access capacity of the database system being utilized to process database queries associated with the first user of the database, wherein the access capacity is determined, by the database system, at least partly based on one or more workload priorities of one more database queries of the database, including the obtained database query, wherein the one or more database queries are made by the first user" (claim 1).
Initially, it is noted that while Barsness shows changing capacity by using a higher cycle rate, Barsness also shows reducing a cycle rate when needed after (see paragraph [0045]-[0048]). The teachings of Fowler show an additional way in which a cycle rate can be reduced by using a SKIP command. Thus, Barsness does not teach away from the combination with Sivasubramainian and Folwer.
In response to the remainder of Applicant’s argument directed towards the combination of references, it is noted that Applicant provided no additional specific reasons as to how the cited references do not teach the claimed step. As such, Examiner notes that Sivasubramanian teaches the claimed subject matter at paragraphs [0024]-[0025], [0035], and [0038]-[0040] for the reasons provided in the rationale above.
Applicant argues that “Furthermore, it is respectfully submitted that Sivasubramainian, Barnes, and Folwer take alone, or in combination even assuming purely arguendo that they can be combined (Which they cannot be combined as discussed below) do NOT teach or suggest the claimed features, including:” the claimed determining, changing, and changing steps.
Applicant additionally argues that “Accordingly, it is respectfully submitted that claim 1 and its dependent claims are patentably distinct from that Sivasubramainian, Barnes, and Folwer take alone, or in combination even assuming purely arguendo that they can be combined (Which they cannot be combined as discussed below).
In response to this argument, it is noted that Applicant provides no detailed reasoning as to how the cited references of Sivasubramanian, Barsness, and Fowler do not teach the claimed subject matter of independent claim 1. As such, Examiner asserts that Sivasubramanian, Barsness, and Fowler do teach the claim language for the reasons given in the rejection above.
Applicant argues that “However, Folwer does NOT teach skipping one or more clock cycles one or more physical processors of at least one of the database nodes of the database system in the context of lowering processing a of the physical processor.”
Applicant continues, arguing that “It should be noted that skipping clock cycles of a physical processor to reduce or limit its processing power is counter initiative. As such, the mere assertion that skipping clock cycles of a processors is well known broadly, or it has been taught for synchronization between a sender and a receiver would NOT be not enough to establish a prima facie case of obviousness absent at least a teaching or a suggestion in the Folwer with respect to skipping a clock cycle of a physical processors to lower its processing capacity, let alone for database processing.”
In response to this argument, it is noted that Fowler teaches skipping one or more clock cycles of one or more physical processors in the context of lowering processing of a physical processor (see 54:32-51). It is noted that Barsness teaches to change the processing power of a database system to process a database query (see paragraphs [0048]-[0049]) and Sivasubramanian teaches changing computing capacities in a database system in general (see paragraphs [0013]-[0016]). Combined, the references teach the subject matter of the claims to the extent claimed. Applicant is reminded that the rejection is based on a combination of references and that Applicant cannot show unobviousness by simply pointing out that an element taught by a first reference is lacking from a second reference.
Examiner is interpreting the phrase “counter initiative” as “counter intuitive.” It is noted that because Fowler shows skipping a clock cycle of a physical processor to lower its processing capacity and explains how controlling the clock cycles of processors is useful to synchronize computing elements, Fowler establishes a prima facia case of obviousness when combined with Sivasubramanian and Barsness to teach the claimed subject matter. Both Fowler and Barsness show changing the capacity of a processor and lowering the effective clock rate of a processor. Barsness shows this by increasing a clock rate of a processor for a limited time followed by lowering the clock rate of a processor after the period of time has passed (see Barsness paragraph [0045]). Fowler shows lowering the clock rate of a processor using a specific means – a SKIP command (see 54:32-51). The combined references show the claim language as claimed, as described in the rejection above.
Applicant continues, arguing that “it is respectfully submitted that the Examiner has NOT provided the actual evidence needed even to show that one or ordinary skilled in the art would combine Folwer with Barness. In fact, Barness teaches away from skipping one or more clock cycles of a processor as it teaches using additional performance capabilities for limited period of time (Paragraph [0046-0048] of Barness). As such, Barness suggests overclocking a processor, in stark contrast to the claimed feature of skipping one or more clock cycles of a processor in order to limit available performance capacity skipping a clock cycle. Accordingly, it is respectfully submitted that Barness cannot be combined with Sivasubramanian, or Gibson. “
In response to Applicant’s argument, it is noted that while Barsness shows changing capacity by using a higher cycle rate, Barsness also shows reducing a cycle rate when needed after (see paragraph [0045]-[0048]). The teachings of Fowler show an additional way in which a cycle rate can be reduced by using a SKIP command.
Applicant argues that “again, it should be noted that Barness teaches taking into consideration thermal consideration as "one factor which may limit cycle rates of the computer processing," and using additional performance capabilities for limited period of time (Paragraph [0046-0048] of Barness. However, it is respectfully submitted that Barness does NOT teach or suggest skipping one or more clock cycles of a processor in the context of lowering available processing capability.”
Barsness shows raising processing capacity for a limited period of time followed by lowering processing ability to lower a temperature. Fowler simply shows an additional technique that Barsness may use to lower processing ability by taking advantage of SKIP commands. The combination of references teaches the claimed subject matter as claimed.
Applicant cites the language of claims 19 and 20, but provides no specific arguments against the rejections of claims 19 and 20 under 35 USC 103. Applicant additionally states that “Claims 19 and 20 recite similar features and therefore are therefore also distinct over Sivasubramainian, Barnes, and Fowler.”
It is noted that claims 19 and 20 do not contain the same claim limitations as claim 1 and are lacking several details, including the details regarding how to lower the clock processing rate. In fact, neither Barsness nor Fowler are relied upon in the 35 USC 103 rejection of claims 19 and 20.
The subject matter remains obvious over Sivasubramanian et al. (US Pre-Grant Publication 2010/0250748) in view of Gibson et al. (US Pre-Grant Publication 2011/0239220) for the reasons provided in the rejection above. Applicant is reminded that unclaimed details from the specification have no patentable weight until claimed.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHARLES D ADAMS whose telephone number is (571)272-3938. The examiner can normally be reached M-F, 9-5:30 EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Neveen Abel-Jalil can be reached at 571-270-0474. 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 D ADAMS/Primary Examiner, Art Unit 2152