Prosecution Insights
Last updated: October 25, 2026
Application No. 18/632,629

DATABASE SYSTEM PERFORMANCE OF A STORAGE REBALANCING PROCESS

Final Rejection §101§103§112
Filed
Apr 11, 2024
Examiner
YUAN, PETER LI
Art Unit
2197
Tech Center
2100 — Computer Architecture & Software
Assignee
Ocient Holdings LLC
OA Round
2 (Final)
100%
Grant Probability
Favorable
3-4
OA Rounds
5m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 100% — above average
100%
Career Allowance Rate
1 granted / 1 resolved
+45.0% vs TC avg
Minimal +0% lift
Without
With
+0.0%
Interview Lift
resolved cases with interview
Typical timeline
2y 11m
Avg Prosecution
18 currently pending
Career history
28
Total Applications
across all art units

Statute-Specific Performance

§101
27.2%
-12.8% vs TC avg
§103
43.7%
+3.7% vs TC avg
§102
4.9%
-35.1% vs TC avg
§112
18.5%
-21.5% vs TC avg
Black line = Tech Center average estimate • Based on career data from 1 resolved cases

Office Action

§101 §103 §112
DETAILED ACTION The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . The Office Action is in response to claims filed 09/02/2026. Claims 21-40 are pending. Claim Rejections - 35 USC § 112 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. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claims 21-40 rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. The term “unfavorably” in claim 21 and 31 is a relative term which renders the claim indefinite. The term “unfavorably” is not defined by the claim, the specification does not provide a standard for ascertaining the requisite degree, and one of ordinary skill in the art would not be reasonably apprised of the scope of the invention. It is unclear how a first storage utilization compares unfavorably to a threshold. The specification attempts to define “unfavorably” by stating “the term “compares unfavorably”, indicates that a comparison between two or more items, signals, etc., fails to provide such an advantageous relationship and/or that provides a disadvantageous relationship” (¶ [0752] of Applicant’s specification). The terms “advantageous relationship” and “disadvantageous relationship” are also indefinite because the specification does not provide a definition and only provides examples (See ¶ [0752]). For this reason, the terms “advantageous relationship” and “disadvantageous relationship” do not remedy the indefiniteness of “unfavorably.” For the purposes of compact prosecution, it is interpreted that the first storage utilization level compares “unfavorably” to the threshold when the first storage utilization level exceeds the maximum storage utilization level as explained in claim 25. Dependent claims 22-24, 26-30, 32-34, and 36-40 are rejected by virtue of their dependency on claims 21 and 31. The term “favorably” in claim 21 and 31 is a relative term which renders the claim indefinite. The term “favorably” is not defined by the claim, the specification does not provide a standard for ascertaining the requisite degree, and one of ordinary skill in the art would not be reasonably apprised of the scope of the invention. It is unclear how a first storage utilization compares unfavorably to a threshold. The specification attempts to define “favorably” by stating “the term “compares favorably”, indicates that a comparison between two or more items, signals, etc., indicates an advantageous relationship” (¶ [0752] of Applicant’s specification). The terms “advantageous relationship” and “disadvantageous relationship” are also indefinite because the specification does not provide a definition and only provides examples (See ¶ [0752]). For this reason, the terms “advantageous relationship” and “disadvantageous relationship” do not remedy the indefiniteness of “favorably.” For the purposes of compact prosecution, it is interpreted that the first storage utilization level compares “favorable” to the threshold when the first storage utilization level is less than the maximum storage utilization level as explained in claim 24. Dependent claims 22-25, 27-30, 32-35, and 37-40 are rejected by virtue of their dependency on claims 21 and 31. Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 21-40 are rejected under 35 U.S.C. 101 because the claimed invention recites a judicial exception, an abstract idea, and it has not been integrated into practical application and the claims further do not recite significantly more than the judicial exception. Examiner has evaluated the claims under the framework provided in the 2019 Patent Eligibility Guidance published in the Federal Register 01/07/2019 and has provided such analysis below. Step 1: Claims 21-30 are directed to a database system and fall within the statutory category of machine. Claims 31-40 are directed to a computer-readable memory and fall within the statutory category of articles of manufacture. Therefore, “Are the claims to a process, machine, manufacture or composition of matter?” Yes. Step 2A Prong 1: Claims 21 and 31: The limitations “when the first storage utilization level compares unfavorably to a threshold,” “identify a second set of memory devices associated with the pluralities of processing core resources,” and “when the second storage utilization level compares favorably to the threshold” are a mental process. They are a mental process because comparing utilization levels to a threshold is a determining step which can be performed entirely in the mind. Additionally, identifying a set of memory devices is a mental process because it is observing and understanding the memory devices. It is understood that these limitations are to be performed within a computer environment, however, the limitations can also be performed entirely in the mind. Therefore, Yes, claims 21 and 31 recite a judicial exception. Step 2A Prong 2 will evaluate whether the claims integrate the judicial exception into a practical application. Step 2A Prong 2: Claims 21 and 31: The judicial exception is not integrated into a practical application. Claims 21 and 31 recites the following additional elements – “receive a query regarding a dataset, wherein the dataset includes a plurality of rows of columnar data, wherein the columnar data includes a plurality of columns of data, wherein the query is regarding a storage rebalancing process, and wherein a first set of memory devices associated with the pluralities of processing core resources stores at least a portion of the dataset,” “generate first storage data for the first set of memory devices, wherein the first storage data indicates a first storage utilization level for the first set of memory devices,” and “transfer, based on the first and second levels of storage utilization, the at least a portion of the dataset from the first set of memory devices to the second set of memory devices.” These limitations are insignificant extra-solution activity of data gathering and data transmission (MPEP § 2106.05(g)). Additionally, the claim 21 and 31 recite “pluralities of processing core resources of a plurality of computing device clusters, wherein a computing device cluster of the plurality of computing device clusters includes a plurality of computing devices, wherein a computing device of the plurality of computing devices includes a plurality of nodes, and wherein a node of the plurality of nodes includes a plurality of the pluralities of processing core resources, wherein a set of processing core resources of the pluralities of processing core resources is operable to.” This limitation is considered field of use/technological environment (MPEP § 2106.05(h)) because it limits the computing environment. Additionally, the limitation “wherein a set of processing core resources of the pluralities of processing core resources is operable to” in claim 21 is also considered generic computing components used as a means to apply an exception (MPEP § 2106.05(f)). In claim 31, the claim recites “a computer-readable memory comprises: a first memory section that stores operational instructions that, when executed by a set of processing core resources … causes the set of processing core resources to” and “a second memory section that stores operational instructions that, when executed by the set of processing core resources, causes the set of processing core resources to.” These limitations are also considered as generic computing components used as a means to apply an exception (MPEP § 2106.05(f)). These additional elements do not integrate the judicial exception into a practical application. Therefore, “Do the claims recite additional elements that integrate the judicial exception in a practical application?” No, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. After having evaluated the inquiries set forth in Steps 2A Prong 1 and 2, it has been concluded that claims 21 and 31 not only recite a judicial exception but that the claims are directed to the judicial exception as the judicial exception has not been integrated into practical application. Step 2B: Claims 21 and 31: The claims do not include additional elements, alone or in combination, that are sufficient to amount to significantly more than the judicial exception. As discussed above, the additional elements only amount to insignificant extra-solution activity, field of use/technological environment, and means to apply an exception. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. When reevaluating the insignificant extra-solution activities for an inventive concept that is significantly more, the claims do not add an inventive concept that is other than what is well understood, routine, and conventional in the field. MPEP § 2106.05(d)(II) lists that “Receiving or transmitting data over a network” is a well understood, routine, and conventional computer function. Therefore, “Do the claims recite additional elements that amount to significantly more than the judicial exception? No, these additional elements, alone or in combination, do not amount to significantly more than the judicial exception. Having concluded analysis within the provided framework, claims 21 and 31 do not recite eligible subject matter under 35 U.S.C. § 101. With regard to claim(s) 22 and 32, it recites “wherein the set of processing core resources includes: one or more processing core resources.” This limitation is field of use/technological environment (MPEP § 2106.05(h)) because it specifies what the process core resources includes. It does not integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 22 and 32 do/does not recite patent eligible subject matter under 35 U.S.C. 101. With regard to claim(s) 23 and 33, it recites “wherein the set of processing core resources is further operable to: receive the query via an external network connection of the database system.” This limitation is insignificant extra-solution activity of data gathering (MPEP § 2106.05(g)). It does not integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. When reevaluating the insignificant extra-solution activities for an inventive concept that is significantly more, the claims do not add an inventive concept that is other than what is well understood, routine, and conventional in the field. MPEP § 2106.05(d)(II) lists that “Receiving or transmitting data over a network” is a well understood, routine, and conventional computer function. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 23 and 33 do/does not recite patent eligible subject matter under 35 U.S.C. 101. With regard to claim(s) 24 and 34, it recites “wherein the first storage data indicates an amount of occupied storage capacity and an amount of available storage capacity of the first set of memory devices.” This limitation is considered field of use/technological environment (MPEP § 2106.05(h)) because it limits what the first storage data includes. It does not integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 24 and 34 do/does not recite patent eligible subject matter under 35 U.S.C. 101. With regard to claim(s) 25 and 35, it recites “wherein the threshold includes a maximum storage utilization level.” This limitation further limits the mental process in claim(s) 21 and 31 respectively, so it is also considered as such. The claim(s) also recite “wherein the first storage utilization level compares unfavorably to the threshold when the first storage utilization level exceeds the maximum storage utilization level.” This limitation is a mental process because comparing a storage utilization level based on whether a maximum storage utilization level is exceeded or not can be performed entirely in the mind. Therefore, the claim(s) recite a judicial exception and fail(s) Step 2A Prong 1. The claim(s) do not include any additional elements that integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 25 and 35 do/does not recite patent eligible subject matter under 35 U.S.C. 101. With regard to claim(s) 26 and 36, it recites “wherein the second storage utilization level compares favorably to the threshold when the second storage utilization level is less than a maximum storage utilization level.” This limitation is a mental process because comparing a storage utilization level based on whether a maximum storage utilization level is exceeded or not can be performed entirely in the mind. Therefore, the claim(s) recite a judicial exception and fail(s) Step 2A Prong 1. The claim(s) do not include any additional elements that integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 26 and 36 do/does not recite patent eligible subject matter under 35 U.S.C. 101. With regard to claim(s) 27 and 37, it recites “wherein the first set of memory devices is associated with a first computing device cluster of the plurality of computing device clusters, and wherein the second set of memory devices is associated with a second computing device cluster of the plurality of computing device clusters.” This limitation is field of use/technological environment (MPEP § 2106.05(h)) because it limits the computing environment. It does not integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 27 and 37 do/does not recite patent eligible subject matter under 35 U.S.C. 101. With regard to claim(s) 28 and 38, it recites “wherein the first set of memory devices and the second set of memory devices are associated with a same computing device cluster of the plurality of computing device clusters.” This limitation is field of use/technological environment (MPEP § 2106.05(h)) because it limits the computing environment. It does not integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 28 and 38 do/does not recite patent eligible subject matter under 35 U.S.C. 101. With regard to claim(s) 29 and 39, it recites “wherein the set of processing core resources is further operable to.” This limitation is generic computing components used as a means to apply an exception (MPEP § 2106.05(f)). The claim(s) also recite “when the at least the portion of the dataset is transferred from the first set of memory device to the second set of memory devices: update the first and second levels of storage utilization.” This limitation is insignificant extra-solution activity of data storage (MPEP § 2106.05(g)). It does not integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. When reevaluating the insignificant extra-solution activities for an inventive concept that is significantly more, the claims do not add an inventive concept that is other than what is well understood, routine, and conventional in the field. MPEP § 2106.05(d)(II) lists that “Storing and retrieving information in memory” is a well understood, routine, and conventional computer function. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 29 and 39 do/does not recite patent eligible subject matter under 35 U.S.C. 101. With regard to claim(s) 30 and 40, it recites “wherein the second set of memory devices is associated with a second set of processing core resources of the pluralities of processing core resources.” This limitation is field of use/technological environment (MPEP § 2106.05(h)) because it limits the computing environment. It does not integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 30 and 40 do/does not recite patent eligible subject matter under 35 U.S.C. 101. 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) 21-26, 28-36, 38-40 is/are rejected under 35 U.S.C. 103 as being unpatentable over Arnold Pat. No. US 20220004556 A1 (hereafter Arnold) in view of Mehra Pat. No. US 20160170668 (hereafter Mehra). With regard to claim 21, Arnold teaches a database system comprises (¶ [0072] states “FIG. 1A is a schematic block diagram of an embodiment of a database system 10”): pluralities of processing core resources of a plurality of computing device clusters, wherein a computing device cluster of the plurality of computing device clusters includes a plurality of computing devices, wherein a computing device of the plurality of computing devices includes a plurality of nodes, and wherein a node of the plurality of nodes includes a plurality of the pluralities of processing core resources, wherein a set of processing core resources of the pluralities of processing core resources is operable to (¶ [0099] states “In an embodiment, the parallelized data store, retrieve, and/or process sub-system 12 includes a plurality of storage clusters 35-1 through 35-z.” ¶ [0097] states “a computing device includes a plurality of nodes and each node includes multiple processing core resources such that a plurality of computing devices includes pluralities of multiple processing core resources”): receive a query regarding a dataset, wherein the dataset includes a plurality of rows of columnar data, wherein the columnar data includes a plurality of columns of data, wherein the query is regarding a storage rebalancing process, and wherein a first set of memory devices associated with the pluralities of processing core resources stores at least a portion of the dataset (¶ [0094] states “The computing devices are coupled to the wide area network 22 to receive queries (e.g., query no. 1 regarding data set no. 1) regarding tables and to provide responses to the queries (e.g., response for query no. 1 regarding the data set no. 1).” ¶ [0075] states “the data source organizes its records of the data set into a table that includes rows and columns. The columns represent data fields of data for the rows. Each row corresponds to a record of data.” ¶ [0179] states “the database storage system 2560 is implemented as memory drives 2425 of a plurality nodes 37 that store rows via participation in a storage cluster 35.” ¶ [0098] states “each computing device includes a plurality of nodes and each node includes multiple processing core resources” and “Each storage cluster includes a number of computing devices.”); Arnold does not explicitly teach the query is regarding storage rebalancing process, generating storage data, and comparing storage utilization levels to a threshold. However, in an analogous art, Mehra teaches receive a query regarding a dataset, wherein the dataset includes a plurality of rows of columnar data, wherein the columnar data includes a plurality of columns of data, wherein the query is regarding a storage rebalancing process, and wherein a first set of memory devices associated with the pluralities of processing core resources stores at least a portion of the dataset (¶ [0087] states “The current state of the cluster is obtained, for example, from the load balancer which returns an array of node information for nodes within the cluster, as shown in the example pseudo code below.”); generate first storage data for the first set of memory devices, wherein the first storage data indicates a first storage utilization level for the first set of memory devices (¶ [0087] states “The current state of the cluster is obtained, for example, from the load balancer which returns an array of node information for nodes within the cluster, as shown in the example pseudo code below.” ¶ [0089] states “This can be used to identify the source and the target node(s) by running operations on the NodeInfo object.” ¶ [0092] – [0093] states “To get current capacity for a specific node, the following pseudo code can be implemented: NodeInfo[1].getCurrentCapacity( )”); when the first storage utilization level compares unfavorably to a threshold (¶ [0094] states “The source node can be identified if any of the defined criteria is met.” ¶ [0052] states “Data Amount Threshold: Each node in the IMDM cluster 319 will have a setting related to the amount of data used in node that triggers reallocation. For example, when a node with 100 GB of total RAM is determined to have reached 80 GB of RAM in use, reallocation will be triggered.” Examiner’s Note: in light of the 112(b) rejection related to “unfavorably”, Examiner interprets “unfavorably” to mean when the storage utilization level exceeds a threshold. See 35 U.S.C. § 112(b) rejection for more details): identify a second set of memory devices associated with the pluralities of processing core resources (¶ [0087] states “The current state of the cluster is obtained, for example, from the load balancer which returns an array of node information for nodes within the cluster, as shown in the example pseudo code below.” ¶ [0089] states “This can be used to identify the source and the target node(s) by running operations on the NodeInfo object.” ¶ [0094] states “A target node can be identified by comparing total capacity of the node with current capacity of the node.”); generate second storage data for the second set of memory devices, wherein the second storage data indicates a second storage utilization level of the second set of memory devices (¶ [0087] states “The current state of the cluster is obtained, for example, from the load balancer which returns an array of node information for nodes within the cluster, as shown in the example pseudo code below.” ¶ [0089] states “This can be used to identify the source and the target node(s) by running operations on the NodeInfo object.” ¶ [0092] – [0093] states “To get current capacity for a specific node, the following pseudo code can be implemented: NodeInfo[1].getCurrentCapacity( )”); and when the second storage utilization level compares favorably to the threshold (¶ [0094] states “A target node can be identified by comparing total capacity of the node with current capacity of the node.” ¶ [0094] states “The source node can be identified if any of the defined criteria is met.” ¶ [0052] states “Data Amount Threshold: Each node in the IMDM cluster 319 will have a setting related to the amount of data used in node that triggers reallocation. For example, when a node with 100 GB of total RAM is determined to have reached 80 GB of RAM in use, reallocation will be triggered.” ¶ [0105] states “The data threshold when at the cluster level can be stored, for example in the “clusterconfig.xml” file.” The data threshold conveniently can be represented in GB.” ¶ [0087] – [0088] states “The current state of the cluster is obtained, for example, from the load balancer which returns an array of node information for nodes within the cluster, as shown in the example pseudo code below. NodeInfo[ ] Loadbalancer.getCurrentState( ).” Examiner’s Note: since all nodes in the cluster have access to total capacity and current capacity and have access to the data threshold for the cluster, it is reasonable that determining the target node uses the same threshold as determining the source node. In light of the 112(b) rejection related to “favorably,” Examiner interprets “favorably” to mean that the storage utilization level is less than the threshold. See 35 U.S.C. § 112(b) rejection for more details): transfer, based on the first and second levels of storage utilization, the at least a portion of the dataset from the first set of memory devices to the second set of memory devices (¶ [0073] states “Once the data elements that are to be reallocated are correctly identified, actual movement and/or change of ownership of a data element from a source node to a target node can be performed.” ¶ [0096] states “The copying of data elements is from a source node with a heavier load to a target node with a lighter load where the first parameter specifies the node with the heavier load and the second node is the lightly loaded node.”). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the storage rebalancing of Mehra with the cluster environment of Arnold. As a result, data stored on the first set of memory devices (source nodes) can be transferred to a second set of memory devices (target nodes). A person having ordinary skill in the art would have been motivated to make this combination “to optimize reallocation of node load in an IMDM system. As such, a reasonable and desired latency in accessing data elements in the IMDM system may be achieved” (¶ [0039]). With regard to claim 22, Arnold and Mehra teach the database system of claim 21. Arnold additionally teaches wherein the set of processing core resources includes: one or more processing core resources (¶ [0096] states “For example, a set of processing core resources of a computing device (e.g., one or more processing core resources) processes a first query and a second set of processing core resources of the computing device (or a different computing device) processes a second query.”). With regard to claim 23, Arnold and Mehra teach the database system of claim 21. Arnold additionally teaches wherein the set of processing core resources is further operable to: receive the query via an external network connection of the database system (¶ [0183] states “The client device 2550 can include a client device communication interface 2557 that enables communication with the query processing system 2502, for example, via a wired and/or wireless network 2559 and/or via another communication connection with the query processing system 2502. For example, the network 2559 can be implemented by utilizing the external network(s) 17, the network 4, and/or the system communication resources 14.” ¶ [0184] states “The query processing system 2502 can receive and execute the query expression to generate a query resultant”). With regard to claim 24, Arnold and Mehra teach the database system of claim 21. Mehra additionally teaches wherein the first storage data indicates an amount of occupied storage capacity and an amount of available storage capacity of the first set of memory devices (¶ [0090] – [0091] states “For example, to obtain total capacity for a specific node, the following pseudo code can be implemented: NodeInfo[1].getTotalCapacity( ).” ¶ [0092] – [0093] states “To get current capacity for a specific node, the following pseudo code can be implemented: NodeInfo[1].getCurrentCapacity( ).” Examiner’s Note: using the total capacity and current capacity, the available amount of storage capacity is indicated by the first storage data). With regard to claim 25, Arnold and Mehra teach the database system of claim 21. Mehra additionally teaches wherein the threshold includes a maximum storage utilization level, wherein the first storage utilization level compares unfavorably to the threshold when the first storage utilization level exceeds the maximum storage utilization level (¶ [0052] states “Data Amount Threshold: Each node in the IMDM cluster 319 will have a setting related to the amount of data used in node that triggers reallocation. For example, when a node with 100 GB of total RAM is determined to have reached 80 GB of RAM in use, reallocation will be triggered.” Examiner’s Note: it is understood that if a node with more than 80 GB would also trigger reallocation). With regard to claim 26, Arnold and Mehra teach the database system of claim 21. Mehra additionally teaches wherein the second storage utilization level compares favorably to the threshold when the second storage utilization level is less than a maximum storage utilization level (¶ [0094] states “A target node can be identified by comparing total capacity of the node with current capacity of the node.”). With regard to claim 28, Arnold and Mehra teach the database system of claim 21. Mehra additionally teaches wherein the first set of memory devices and the second set of memory devices are associated with a same computing device cluster of the plurality of computing device clusters (¶ [0049] states “In FIG. 3, the load on the nodes 307, 309, 311, 313, 315 in the IMDM cluster 317 is illustrated as unbalanced. However, the reallocation process 319 is provided and interacts with the load balancer 305 and the nodes 307, 309, 311, 313, 315 so as to allow reallocation without an impact on requests from the client applications 301.” See FIG. 3. Examiner’s Note: the nodes are analogous to memory devices. All the nodes are in the same IMDM cluster). With regard to claim 29, Arnold and Mehra teach the database system of claim 21. Mehra additionally teaches wherein the set of processing core resources is further operable to: when the at least the portion of the dataset is transferred from the first set of memory device to the second set of memory devices: update the first and second levels of storage utilization (¶ [0073] states “Once the data elements that are to be reallocated are correctly identified, actual movement and/or change of ownership of a data element from a source node to a target node can be performed.” ¶ [0096] states “The copying of data elements is from a source node with a heavier load to a target node with a lighter load where the first parameter specifies the node with the heavier load and the second node is the lightly loaded node.” ¶ [0100] states “Deleting can be performed after the requests coming from the client applications have been processed so as to avoid any impact.” ¶ [0087] states “The current state of the cluster is obtained.” Examiner’s Note: copying data to a target node and deleting data from the source node is updating the first and second levels of storage utilization. The updated storage utilization is accessed by the load balancer obtaining the current state). With regard to claim 30, Arnold and Mehra teach the database system of claim 21. Arnold additionally teaches wherein the second set of memory devices is associated with a second set of processing core resources of the pluralities of processing core resources (¶ [0098] states “each computing device includes a plurality of nodes and each node includes multiple processing core resources” and “Each storage cluster includes a number of computing devices.”). Mehra additionally teaches wherein the second set of memory devices is associated with a second set of processing core resources of the pluralities of processing core resources (¶ [0094] states “A target node can be identified by comparing total capacity of the node with current capacity of the node … However at any given point, target nodes can be identified by comparing current capacity with total capacity of the node.” Examiner’s Note: the target nodes are the second set of memory devices. The target nodes have a second set of processor core resources, so the second set of memory devices is associated with a second set of processing core resources of the pluralities of processing core resources). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the target nodes associated with storage of Mehra with the nodes with processing core resources of Arnold. As a result, the nodes of Arnold and Mehra are the same, and storage utilization is load balanced between nodes. A person having ordinary skill in the art would have been motivated to make this combination “to optimize reallocation of node load in an IMDM system. As such, a reasonable and desired latency in accessing data elements in the IMDM system may be achieved” (¶ [0039]). With regard to claim 31, Arnold teaches a computer-readable memory comprises (¶ [0324] states “a non-transitory computer readable storage medium includes at least one memory section that stores operational instructions.”): a first memory section that stores operational instructions that, when executed by a set of processing core resources of pluralities of processing core resources of a plurality of computing device clusters of a database system, wherein a computing device cluster of the plurality of computing device clusters includes a plurality of computing devices, wherein a computing device of the plurality of computing devices includes a plurality of nodes, and wherein a node of the plurality of nodes includes a plurality of the pluralities of processing core resources, causes the set of processing core resources to (¶ [0324] states “a non-transitory computer readable storage medium includes at least one memory section that stores operational instructions. The operational instructions, when executed by a processing module that includes a processor and a memory, causes the processing module to receive a query expression.” ¶ [0099] states “In an embodiment, the parallelized data store, retrieve, and/or process sub-system 12 includes a plurality of storage clusters 35-1 through 35-z.” ¶ [0097] states “a computing device includes a plurality of nodes and each node includes multiple processing core resources such that a plurality of computing devices includes pluralities of multiple processing core resources”): receive a query regarding a dataset, wherein the dataset includes a plurality of rows of columnar data, wherein the columnar data includes a plurality of columns of data, wherein the query is regarding a storage rebalancing process, and wherein a first set of memory devices associated with the pluralities of processing core resources stores at least a portion of the dataset (¶ [0094] states “The computing devices are coupled to the wide area network 22 to receive queries (e.g., query no. 1 regarding data set no. 1) regarding tables and to provide responses to the queries (e.g., response for query no. 1 regarding the data set no. 1).” ¶ [0075] states “the data source organizes its records of the data set into a table that includes rows and columns. The columns represent data fields of data for the rows. Each row corresponds to a record of data.” ¶ [0179] states “the database storage system 2560 is implemented as memory drives 2425 of a plurality nodes 37 that store rows via participation in a storage cluster 35.” ¶ [0098] states “each computing device includes a plurality of nodes and each node includes multiple processing core resources” and “Each storage cluster includes a number of computing devices.”); Arnold does not explicitly teach the query is regarding storage rebalancing process, generating storage data, and comparing storage utilization levels to a threshold. receive a query regarding a dataset, wherein the dataset includes a plurality of rows of columnar data, wherein the columnar data includes a plurality of columns of data, wherein the query is regarding a storage rebalancing process, and wherein a first set of memory devices associated with the pluralities of processing core resources stores at least a portion of the dataset (¶ [0087] states “The current state of the cluster is obtained, for example, from the load balancer which returns an array of node information for nodes within the cluster, as shown in the example pseudo code below.”); a second memory section that stores operational instructions that, when executed by the set of processing core resources, causes the set of processing core resources to (¶ [0005] states “one or more embodiments provide a method, computer device and/or non-transitory computer readable medium that optimizes load reallocation in an in-memory data management (IMDM) system. The method is implemented in IMDM system that may include an IMDM cluster including a plurality of nodes, a load balancer, and a reallocation process controller, cooperatively operable with the IMDM cluster and the load balancer.” ¶ [0167] states “A computer-readable storage medium is tangible and non-transitory; a computer-readable storage medium can be any of the memory or storage devices”): generate first storage data for the first set of memory devices, wherein the first storage data indicates a first storage utilization level for the first set of memory devices (¶ [0087] states “The current state of the cluster is obtained, for example, from the load balancer which returns an array of node information for nodes within the cluster, as shown in the example pseudo code below.” ¶ [0089] states “This can be used to identify the source and the target node(s) by running operations on the NodeInfo object.” ¶ [0092] – [0093] states “To get current capacity for a specific node, the following pseudo code can be implemented: NodeInfo[1].getCurrentCapacity( )”); when the first storage utilization level compares unfavorably to a threshold (¶ [0094] states “The source node can be identified if any of the defined criteria is met.” ¶ [0052] states “Data Amount Threshold: Each node in the IMDM cluster 319 will have a setting related to the amount of data used in node that triggers reallocation. For example, when a node with 100 GB of total RAM is determined to have reached 80 GB of RAM in use, reallocation will be triggered.” Examiner’s Note: in light of the 112(b) rejection related to “unfavorably”, Examiner interprets “unfavorably” to mean when the storage utilization level exceeds a threshold. See 35 U.S.C. § 112(b) rejection for more details): identify a second set of memory devices associated with the pluralities of processing core resources (¶ [0087] states “The current state of the cluster is obtained, for example, from the load balancer which returns an array of node information for nodes within the cluster, as shown in the example pseudo code below.” ¶ [0089] states “This can be used to identify the source and the target node(s) by running operations on the NodeInfo object.” ¶ [0094] states “A target node can be identified by comparing total capacity of the node with current capacity of the node.”); generate second storage data for the second set of memory devices, wherein the second storage data indicates a second storage utilization level of the second set of memory devices (¶ [0087] states “The current state of the cluster is obtained, for example, from the load balancer which returns an array of node information for nodes within the cluster, as shown in the example pseudo code below.” ¶ [0089] states “This can be used to identify the source and the target node(s) by running operations on the NodeInfo object.” ¶ [0092] – [0093] states “To get current capacity for a specific node, the following pseudo code can be implemented: NodeInfo[1].getCurrentCapacity( )”); and when the second storage utilization level compares favorably to the threshold (¶ [0094] states “A target node can be identified by comparing total capacity of the node with current capacity of the node.” ¶ [0094] states “The source node can be identified if any of the defined criteria is met.” ¶ [0052] states “Data Amount Threshold: Each node in the IMDM cluster 319 will have a setting related to the amount of data used in node that triggers reallocation. For example, when a node with 100 GB of total RAM is determined to have reached 80 GB of RAM in use, reallocation will be triggered.” ¶ [0105] states “The data threshold when at the cluster level can be stored, for example in the “clusterconfig.xml” file.” The data threshold conveniently can be represented in GB.” ¶ [0087] – [0088] states “The current state of the cluster is obtained, for example, from the load balancer which returns an array of node information for nodes within the cluster, as shown in the example pseudo code below. NodeInfo[ ] Loadbalancer.getCurrentState( ).” Examiner’s Note: since all nodes in the cluster have access to total capacity and current capacity and have access to the data threshold for the cluster, it is reasonable that determining the target node uses the same threshold as determining the source node. In light of the 112(b) rejection related to “favorably,” Examiner interprets “favorably” to mean that the storage utilization level is less than the threshold. See 35 U.S.C. § 112(b) rejection for more details): transfer, based on the first and second levels of storage utilization, the at least a portion of the dataset from the first set of memory devices to the second set of memory devices (¶ [0073] states “Once the data elements that are to be reallocated are correctly identified, actual movement and/or change of ownership of a data element from a source node to a target node can be performed.” ¶ [0096] states “The copying of data elements is from a source node with a heavier load to a target node with a lighter load where the first parameter specifies the node with the heavier load and the second node is the lightly loaded node.”). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the storage rebalancing of Mehra with the cluster environment of Arnold. As a result, data stored on the first set of memory devices (source nodes) can be transferred to a second set of memory devices (target nodes). A person having ordinary skill in the art would have been motivated to make this combination “to optimize reallocation of node load in an IMDM system. As such, a reasonable and desired latency in accessing data elements in the IMDM system may be achieved” (¶ [0039]). With regard to claims 32, 34-36, 38, 40, the claim(s) are rejected using the same rationale as claims 22, 24-26, 28, and 30 respectively. With regard to claim 33, Arnold and Mehra teach the computer-readable memory of claim 31. Arnold additionally teaches wherein the first memory section further stores operational instructions that, when executed by the set of processing core resources, causes the set of processing core resources to: receive the query via an external network connection of the database system (¶ [0324] states “a non-transitory computer readable storage medium includes at least one memory section that stores operational instructions.” ¶ [0183] states “The client device 2550 can include a client device communication interface 2557 that enables communication with the query processing system 2502, for example, via a wired and/or wireless network 2559 and/or via another communication connection with the query processing system 2502. For example, the network 2559 can be implemented by utilizing the external network(s) 17, the network 4, and/or the system communication resources 14.” ¶ [0184] states “The query processing system 2502 can receive and execute the query expression to generate a query resultant”). With regard to claim 39, Arnold and Mehra teach the computer-readable memory of claim 31. Mehra additionally teaches wherein the second memory section further stores operational instructions that, when executed by the set of processing core resources, causes the set of processing core resources to: when the at least the portion of the dataset is transferred from the first set of memory device to the second set of memory devices: update the first and second levels of storage utilization (¶ [0005] states “one or more embodiments provide a method, computer device and/or non-transitory computer readable medium that optimizes load reallocation in an in-memory data management (IMDM) system. The method is implemented in IMDM system that may include an IMDM cluster including a plurality of nodes, a load balancer, and a reallocation process controller, cooperatively operable with the IMDM cluster and the load balancer.” ¶ [0073] states “Once the data elements that are to be reallocated are correctly identified, actual movement and/or change of ownership of a data element from a source node to a target node can be performed.” ¶ [0096] states “The copying of data elements is from a source node with a heavier load to a target node with a lighter load where the first parameter specifies the node with the heavier load and the second node is the lightly loaded node.” ¶ [0100] states “Deleting can be performed after the requests coming from the client applications have been processed so as to avoid any impact.” ¶ [0087] states “The current state of the cluster is obtained.” Examiner’s Note: copying data to a target node and deleting data from the source node is updating the first and second levels of storage utilization. The updated storage utilization is accessed by the load balancer obtaining the current state). Claim(s) 27 and 37 is/are rejected under 35 U.S.C. 103 as being unpatentable over Arnold in view of Mehra and further in view of Surla et al. Pat. No. US 20220300183 A1 (hereafter Surla). With regard to claim 27, Arnold and Mehra teach the database system of claim 21. Although Arnold teaches a plurality of clusters (¶ [0099]) and Mehra teaches transferring data between nodes within the same cluster (¶ [0049] and FIG. 3), Arnold and Mehra do not explicitly teach that the first and second set of memory devices are associated with a respective first and second cluster. However, in an analogous art, Surla additionally teaches wherein the first set of memory devices is associated with a first computing device cluster of the plurality of computing device clusters, and wherein the second set of memory devices is associated with a second computing device cluster of the plurality of computing device clusters (¶ [0004] states “Examples are disclosed that relate to data migration in a distributed computing system. One example provides, enacted on a computing system, a method of migrating a data partition from a first storage cluster to a second storage cluster. Each storage cluster may be implemented via one or more server computers.”). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the data migration from a first storage cluster to a second storage cluster with the transfer of data from a source node to a target node of Mehra and the clusters of Arnold. As a result, the source node of Mehra is within the first storage cluster and the target node of Mehra is within the second storage cluster. A person having ordinary skill in the art would have been motivated to make this combination “to alleviate capacity pressure in the storage cluster, to balance CPU and input/output operations per second (IOPS) among storage clusters within a region, and/or to decommission a storage cluster. Further, if a live site is running on the storage cluster, the distributed storage system may migrate some impacted storage accounts to another storage cluster” (¶ [0002]). With regard to claim 37, it is rejected using the same rationale as claim 27. Response to Arguments The claim objection to claim 14 is cancelled because claim 14 is cancelled. The 35 U.S.C. § 112(b) rejection to claim 9 is cancelled because claim 9 is cancelled. Applicant's arguments filed 09/02/2026 have been fully considered but they are not persuasive. With regard to the 35 U.S.C. § 101 rejection of claims 1-20, Applicant has cancelled claims 1-20 and inserted a revised set of claims. Applicant argues “the rejections and objections have been traversed” and “the amended claims overcome the cited rejections” (Page 9 of Applicant’s Remarks). Examiner respectfully disagrees. The new grounds of rejection show that claims 21-40 do not recite patent eligible subject matter under 35 U.S.C. 101. See 35 U.S.C. § 101 rejection for full rejection. Examiner rejects claims 21-40 under 35 U.S.C. § 101 because claims 21-40 do not recite eligible subject matter. With regard to the 35 U.S.C. § 103 rejection of claims 1-20, Applicant has cancelled claims 1-20 and inserted a revised set of claims. Applicant argues “the rejections and objections have been traversed” and “the amended claims overcome the cited rejections” (Page 9 of Applicant’s Remarks). Examiner respectfully disagrees. The new grounds of rejection show that claims 21-26, 28-36, and 38-40 are rejected under 35 U.S.C. § 103 as unpatentable over Arnold in view of Mehra and claims 27 and 37 are rejected under 35 U.S.C. § 103 as unpatentable over Arnold in view of Mehra and Surla. See 35 U.S.C. § 103 for full rejection. Examiner rejects claims 21-26, 28-36, and 38-40 as unpatentable over Arnold in view of Mehra and claims 27 and 37 as unpatentable over Arnold in view of Mehra and Surla. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. US 20180373456 A1 teaches Metadata Load Distribution Management US 20210373971 A1 teaches CROSS-CLUSTER LOAD BALANCER 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 PETER L YUAN whose telephone number is (571)272-5737. The examiner can normally be reached Mon-Fri 7:30am-5pm. 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, Bradley Teets can be reached at 571-272-3338. 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. /PETER LI YUAN/Examiner, Art Unit 2197 /BRADLEY A TEETS/Supervisory Patent Examiner, Art Unit 2197
Read full office action

Prosecution Timeline

Apr 11, 2024
Application Filed
Jun 05, 2026
Non-Final Rejection mailed — §101, §103, §112
Sep 02, 2026
Response Filed
Oct 07, 2026
Final Rejection mailed — §101, §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12769580
CONTROL APPARATUS, CONTROL SYSTEM, CONTROL METHOD, AND PROGRAM
3y 1m to grant Granted Oct 20, 2026
Study what changed to get past this examiner. Based on 1 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
100%
Grant Probability
99%
With Interview (+0.0%)
2y 11m (~5m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 1 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month