DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
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 1/15/2026 has been entered.
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
As initially stated in the Final Rejection dated 1/3/2025, the claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked.
As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph:
(A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
(B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
(C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function.
Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitations are:
“a storage query manager configured to create a storage query plan by: receiving… locating… mapping... allocating… mapping…,” in Claim 15,
“wherein the storage query manager is further configured to allocate…,” in Claim 16,
“wherein the storage query manager is further configured to: estimate… estimate… return…,” in Claim 17, and
“wherein the storage query manager is further configured to predict…” in Claim 18.
Because these claim limitations are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, they are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
For example, the corresponding structure can be found in at least Paragraph [0036] of the Applicant’s specification which recites, "For example, in some embodiments, the storage query manager 108 may be implemented with combinational logic, sequential logic, one or more timers, counters, registers, state machines, volatile memories such as DRAM and/or SRAM, nonvolatile memory sucl1 as flash memory, CPLDs. FPGAs, ASICs, CISC processors and/or RISC processors, and/or the like executing instructions, and/or the like, as well as GPUs, NPUs, TPUs, and/or the like."
If applicant does not intend to have these limitations interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitations to avoid them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitations recite sufficient structure to perform the claimed function so as to avoid them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
Claim Rejections - 35 USC § 103
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 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.
Claims 1-3, 10-12 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Kumar et al. (US PGPUB 2018/0337991) in view of Annapragada (US PGPUB 2012/0036146), Kant et al. (US PGPUB 2022/0083245), George et al. (US PGPUB 2021/0011888) and Ganguli et al. (US PGPUB 2018/80004452).
With regard to Claim 1, Kumar teaches a method comprising:
receiving a request for storage resources to access a [dataset] for a processing session ([0007] “a typical AWS user may request use of one of 24 different EC2 instances, which range from a t2.nano instance with 0.5 Gigabyte (GB) of memory, 1 core/variable cores/compute units and no instance storage to an hs1.8×large with 117 GB of memory, 16/35 cores/compute units and 48000 GB of instance storage.” [0081] “For example, under one process flow a IaaS customer will request use of a compute node with certain resources, and the compute node is composed by the POD manager.”);
allocating a second set of the storage nodes for the processing session based on the [dataset] ([0033] “2) a Pooled system of compute, network, and storage resources that may be selectively composed based on workload requirements” [0081] “In a block 904, the compute node resources are composed, including allocation of remote storage devices,” wherein “the storage nodes” are further discussed below by Kant.);
and mapping the second set of the storage nodes to the one or more compute nodes for the processing session through one or more network paths ([0082] “In a block 904 the firmware configures an initiator-target device map. This contains information for mapping remote storage devices as local storage devices for the compute node. In a block 910, the OS is booted. Subsequently, the remote storage devices allocated to the compute node are exposed to the OS as local NVMe devices.”).
With further regard to claim 1, Kumar does not teach the query plan as described in claim 1. Annapragada teaches
creating a storage query plan comprising ([0133] “The actions taken in step 616 are recorded for use in constructing the query plan (617).” [0298] “The submission of this database query (2261) causes the DQP (2251) to construct a query plan (2252).”):
locating objects in the [dataset] in a first set of the storage nodes as part of the storage query plan ([0118] “A validated query is received by the Dynamic Query Planner (DQP) in the step labeled 601. The DQP deconstructs the query and identifies all tables that are referenced in the query (602).” [0119] “The DQP then identifies groupings of tables referenced in the query called ‘partitions’, and constructs the grouping that contains the fewest partitions (604).” [0133] “The actions taken in step 616 are recorded for use in constructing the query plan.” [0134] “each node in the system executes a fully functional DBMS that is able to completely plan, optimize and execute queries for the data resident on that node.”); and
mapping as part of the storage query plan ([0166] “The DQP will capture information about the compute nodegroup to be used at the beginning of query planning The DQP captures the name of the nodegroup, and the members (nodes) of that nodegroup. It indicates that it may be placing intermediate tables on these nodes by incrementing a reference counter on those nodes. It indicates that it is referencing the nodegroup by incrementing a reference counter on the nodegroup.” See also Claim 1 of Annapragada which recites, “executing a Dynamic Query Planner (DQP) process that transforms queries received from the client into a query plan that includes an ordered series of steps that are executed in parallel on multiple operational nodes where possible, the query plan further stipulating, for each step, which compute node it must be performed on, which storage nodes it must access, and other steps that this step depends on.”); and
returning the storage query plan ([0079] “A query (402) is received from a Client Application (401). It is received on the Controller Node (470) and the Dynamic Query Planning (DQP) process (403) results in a query plan (404). The query plan when executed utilizing the Storage and Compute Nodes results in Query Results (405) that are returned to the client application (401).” [0027] “The Query Execution Engine receives a plan from the DQP,” wherein the Dynamic Query Plan (DQP) being received by the “Query Execution Engine” teaches the “returning” claim limitation.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to have modified the method as disclosed by Kumar with the dataset stored on a storage node being used for training as taught by Annapragada as this “provides parallelism and elasticity through the concept of storage, compute, and control ‘nodes’.” (Annapragada [0011]).
With further regard to claim 1, Kumar in view of Annapragada does not teach the distributed training dataset and parallel training as described in claim 1. Kant teaches
wherein the [dataset] is an erasure coded training dataset that is distributed over storage nodes for a processing session ([0068] “A storage system… could consist of a distributed network of storage array controllers each with some number of drives or some amount of Flash storage where the storage array controllers in the network collaborate to provide a complete storage service.” [0085] “the storage system 124 may utilize... erasure coding schemes as part of storing data into addressable fast write storage and/or as part of writing data into allocation units... Erasure codes may be used across storage devices, as well as within erase blocks or allocation units, or within and across Flash memory devices on a single storage device, to provide redundancy against single or multiple storage device failures or to protect against internal corruptions.” [0086] “data is stored across a set of different locations, such as disks, storage nodes or geographic locations… Data is laid out or distributed across multiple storage nodes in data fragments or stripes that support data recovery in some embodiments.” [0152] “teams of data scientists sharing the same datasets and working in parallel to produce new and improved training models.” [0430] “the object store implementation may well make extensive use of erasure coding internally”);
wherein the processing session includes parallel training sessions based on the erasure coded training dataset and allocating the second set of the storage nodes ([0150] “Data samples may undergo a series of processing steps including, but not limited to: 1) ingesting the data from an external source into the training system… 2) cleaning and transforming the data in a format convenient for training… 3) exploring parameters and models, quickly testing with a smaller dataset… 4) executing training phases to select random batches of input data, including both new and older samples, and feeding those into production GPU servers for computation to update model parameters. ” [0151] “the GPU-accelerated servers can be… joined together to train on one larger model, even spanning multiple systems for distributed training.” [0152] “there will be teams of data scientists sharing the same datasets and working in parallel to produce new and improved training models.” [0155] “readers will appreciate that the storage systems described herein may also be part of a distributed deep learning (‘DDL’) platform… Distributed deep learning may can be used… with distributed computing on GPUs… such that parallelism can be achieved.” [0513] “a large number of virtual drives could be allocated to each virtual storage system, with virtual drive servers serving several, if not many, virtual storage systems or virtual storage system datasets.”).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to have modified the method as disclosed by Kumar in view of Annapragada with the distributed training dataset and parallel training as taught by Kant as this “allows a storage node in the cluster to fail, with the system remaining operational, since the data can be reconstructed from other storage nodes and thus remain available for input and output operations” (Kant [0086]) and further “to significantly accelerate deep learning” (Kant [0155]).
With further regard to claim 1, Kumar in view of Annapragada and Kant does not teach the allocating based on the locating, as described in claim 1. George teaches
locating objects in the [dataset] in a first set of the storage nodes ([0052] “When data contained on Node 2 is needed at Node 1, a retrieval request from Node 1 can be transmitted to Node 2, specifying the location of the object/field being requested (e.g., by referencing a linked-list),” wherein “Node 2” is the “first set of one or more storage nodes”.); and
allocating the second set of the storage nodes based on the [dataset] and locating the objects ([0055] “if the first node determines that the object is unavailable in a memory device local to the first node, a second retrieval request is generated by the first node and transmitted to one or more remote nodes where the requested data is stored (606). The second retrieval request can be configured to cause the receiving (second) node to retrieve the requested object from one or more memory devices, such as a PMEM device, that is (locally) associated with the second node. Node location and memory offset information can be included in the second retrieval request using one or more linked lists that identify storage location information for the requested data (first object).” [0058] “data may be transferred from a remote PMEM device (at a second node) to a local PMEM device (at a first node) if the object is frequently accessed by the first node (high cost) and there is sufficient space on the local PMEM device (high local memory resource availability),” wherein transferring the object form the “remote PMEM device (at a second node)” to the “local PMEM device (at a first node)” serves to allocate data to the “first node” in George, i.e. the “allocating a second set of one or more storage nodes”.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to have modified the method as disclosed by Kumar in view of Annapragada and Kant with the allocating based on the locating as taught by George since “It would be desirable to improve memory retrieval by identifying data that should be stored into a specific memory device type based on information use characteristics” (George [0015]).
With further regard to claim 1, Kumar in view of Annapragada, Kant and George does not teach the request and mapping operations including a bandwidth parameter as described in claim 1. Ganguli teaches
wherein the request comprises a bandwidth ([0016] “receiving a request to provision resources (e.g., storage and compute capacity) in accordance with a set of quality of service parameters.” [0035] “performance setting translation data 304 may define a mapping function for converting between a target quality of service and the corresponding performance values (e.g., input/output operations per second, storage transfer times, etc.).” [0043] “storage transfer times (e.g., in MB/s),” wherein the “storage transfer time” performance value is equivalent to the “bandwidth”.);
mapping the objects to a resource map of the storage nodes and one or more compute nodes ([0048] “the performance management server 140 configures one or more routing tables, such as a CRUSH (Controlled Replication Under Scalable Hashing) map used by the storage nodes 160 to route data objects used by the one or more compute nodes 150 provisioned for the client device 120 to placement groups, which in turn, are associated with specific data storage devices 220 of the storage nodes 160.” [0052] “CRUSH map in which the selection of the placement group is based on a storage pool ID and an object ID.”); and
mapping the second set of the storage nodes to the one or more compute nodes for the processing session based in part on the bandwidth ([0015] “the performance management server 140, in operation, is configured to provision storage and compute resources in response to a request from the client device 120 that indicates a desired quality of service, determine the performance capabilities of the compute nodes 150 and storage nodes 160, and dynamically manage the components of the system 110, by continually adjusting hardware and/or software parameters of the compute nodes 150 and storage nodes 160 to maintain the desired quality of service, and controlling the placement of data among the available storage devices of the storage nodes 160 to match the desired quality of service.”).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to have modified the method as disclosed by Kumar in view of Annapragada, Kant and George with the request and mapping operations including a bandwidth parameter as taught by Ganguli in order “to provide and maintain a specific QOS requested by a customer when providing storage and compute services” (Ganguli [0001]).
With regard to Claim 2, Kumar in view of Annapragada, Kant, George and Ganguli teaches all the limitations of Claim 1 as described above. Kumar teaches further comprising returning the resource map of the storage nodes and the one or more compute nodes ([0082] “In a block 904 the firmware configures an initiator-target device map. This contains information for mapping remote storage devices as local storage devices for the compute node,” wherein the “initiator-target device map”, i.e. resource map, is returned by the “firmware”.).
With regard to Claim 3, Kumar in view of Annapragada, Kant, George and Ganguli teaches all the limitations of Claim 2 as described above. Kumar further teaches wherein the resource map comprises an allocated resource map ([0082] “In a block 904 the firmware configures an initiator-target device map. This contains information for mapping remote storage devices as local storage devices for the compute node,” wherein the “initiator-target device map”, i.e. allocated resource map, includes information regarding one or more allocated remote storage devices, i.e. allocated resources.).
With regard to Claim 10, Kumar in view of Annapragada, Kant, George and Ganguli teaches all the limitations of Claim 1 as described above. Kumar teaches further comprising determining a performance of accessing the erasure coded training dataset for the processing session ([0041] “In a datacenter environment such as RSD, the data center management software is able to compose various rack resources into a compute instance(s) or compute node that meets user performance requirements.”).
With regard to claim 11, Kumar in view of Annapragada, Kant, George and Ganguli teaches all the limitations of claim 10 as described above. Ganguli further teaches
wherein determining the performance of accessing the erasure coded training dataset for the processing session comprises determining a quality-of-service (QoS) for the processing session ([0048] “the performance management server 140 may instantiate a virtual machine on a compute node 150, as indicated in block 544. As part of this operation, the performance management server 140 may identify a target host (i.e., a compute node 150 that reported performance capabilities that satisfy the target QOS), as indicated in block 546… In block 550, the performance management server 140 may configure network port speeds of the compute nodes 150 and/or storage nodes 160 to match the target QOS”).
With regard to Claim 12, Kumar in view of Annapragada, Kant, George and Ganguli teaches all the limitations of Claim 11 as described above. Ganguli further teaches
wherein determining a QoS for the processing session comprises calculating the QoS probability based on one of baseline data or historical data for the storage nodes ([0047] “Further, the performance setting translation data 304 may define the QOS of a volume as being greater than or equal to the minimum of the QOS of a compute node 150 and the QOS of a storage node 160 included in the volume. Further, the performance setting translation data 304 may define the QOS of a compute node 150 as the minimum of the QOS of a virtual machine (VM) executed at the compute node 150, the QOS of the communication subsystem 208 of the compute node 150, and the QOS of a switch uplink port associated with the compute node 150. Further, the performance setting translation data 304 may define the QOS of a storage node 160 as the minimum of the QOS of a switch downlink port associated with the storage node 160, the QOS of the object storage daemon executed by the storage node 160, the file system read and write QOS, and the QOS of one or more storage device drivers of the storage node 160. In block 538, the performance management server 140 determines target hardware, firmware, and software configuration settings associated with the target performance metrics. In doing so, the performance management server 140 may access target configuration settings in a predefined set of target configuration settings indexed by target performance metrics. As described above, target configuration settings may be stored in association with corresponding target performance metrics in the performance setting translation data 304.”).
With regard to Claim 14, Kumar in view of Annapragada, Kant, George and Ganguli teaches all the limitations of Claim 1 as described above. Kant further teaches wherein the storage query plan verifies and coordinates the parallel training sessions which share the training dataset ([0150] “Before training can begin, one problem that must be addressed revolves around collecting the labeled data that is crucial for training an accurate AI model. A full scale AI deployment may be required to continuously collect, clean, transform, label, and store large amounts of data. Adding additional high quality data points directly translates to more accurate models and better insights. Data samples may undergo a series of processing steps including, but not limited to: 1) ingesting the data from an external source into the training system and storing the data in raw form, 2) cleaning and transforming the data in a format convenient for training, including linking data samples to the appropriate label, 3) exploring parameters and models, quickly testing with a smaller dataset, and iterating to converge on the most promising models to push into the production cluster, 4) executing training phases to select random batches of input data, including both new and older samples, and feeding those into production GPU servers for computation to update model parameters, and 5) evaluating including using a holdback portion of the data not used in training in order to evaluate model accuracy on the holdout data… Readers will appreciate that a single shared storage data hub creates a coordination point throughout the lifecycle without the need for extra data copies among the ingest, preprocessing, and training stages.” [0155] “readers will appreciate that the storage systems described herein may also be part of a distributed deep learning (‘DDL’) platform… Distributed deep learning may can be used… with distributed computing on GPUs… such that parallelism can be achieved.”).
Claims 4-6 and 8-9 are rejected under 35 U.S.C. 103 as being unpatentable over Kumar in view of Annapragada, Kant, George and Ganguli as applied to Claims 1-2 above, and further in view of Bello et al. (US PGPUB 2014/0222889).
With regard to claim 4, Kumar in view of Annapragada, Kant, George and Ganguli teaches all the limitations of claim 2 as described above. Kumar in view of Annapragada, Kant, George and Ganguli does not teach the availability resource map as described in claim 4. Bello teaches
wherein the resource map comprises an availability resource map ([0019] “At 206 the resource agent updates usage data in a resource availability map of the virtual machine with a current limited resource usage, or a scheduled or projected increase or decrease of a current usage, including as reported at 204. The resource availability map reflects current and specified future loads and amounts of available memory or central processing unit time”).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to have modified the method as disclosed by Kumar in view of Annapragada, Kant, George and Ganguli with the availability resource map as taught by Bello as this “enables network computing environment services to negotiate with regard to the sharing of resources” (Bello [0004]).
With regard to claim 5, Kumar in view of Annapragada, Kant, George and Ganguli teaches all the limitations of claim 1 as described above. Kumar in view of Annapragada, Kant, George and Ganguli does not teach the estimated available bandwidth as described in claim 5. Bello teaches
further comprising estimating an available storage bandwidth for the processing session ([0019] “The resource availability map reflects current and specified future loads and amounts of available memory or central processing unit time, and also projected needs over future time periods as extrapolated or estimated from historic data. In one aspect, at 208 the resource agent communicates the updates to the resource availability map data to the resource agents of one or more other virtual machines that are registered into a resource sharing arrangement with the virtual machine within the network computing environment, for example by a multicast broadcast.” [0026] “a resource agent may make sure that the loaning virtual machine does not loan out extra bandwidth beyond what it can afford.”).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to have modified the method as disclosed by Kumar in view of Annapragada, Kant, George and Ganguli with the estimated available bandwidth as taught by Bello as this “enables network computing environment services to negotiate with regard to the sharing of resources” (Bello [0004]).
With regard to Claim 6, Kumar in view of Annapragada, Kant, George, Ganguli and Bello teaches all the limitations of Claim 5 as described above. Bello further teaches further comprising estimating an available client bandwidth ([0019] “The resource availability map reflects current and specified future loads and amounts of available memory or central processing unit time, and also projected needs over future time periods as extrapolated or estimated from historic data. In one aspect, at 208 the resource agent communicates the updates to the resource availability map data to the resource agents of one or more other virtual machines that are registered into a resource sharing arrangement with the virtual machine within the network computing environment, for example by a multicast broadcast.”).
With regard to claim 8, Kumar in view of Annapragada, Kant, George and Ganguli teaches all the limitations of claim 1 as described above. Kumar in view of Annapragada, Kant, George and Ganguli does not teach the estimated available bandwidth as described in claim 8. Bello teaches
wherein an available storage bandwidth for the processing session is estimated based on benchmark data for the storage nodes ([0019] “The resource availability map reflects current and specified future loads and amounts of available memory or central processing unit time, and also projected needs over future time periods as extrapolated or estimated from historic data. In one aspect, at 208 the resource agent communicates the updates to the resource availability map data to the resource agents of one or more other virtual machines that are registered into a resource sharing arrangement with the virtual machine within the network computing environment, for example by a multicast broadcast.”).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to have modified the method as disclosed by Kumar in view of Annapragada, Kant, George and Ganguli with the estimated available bandwidth as taught by Bello as this “enables network computing environment services to negotiate with regard to the sharing of resources” (Bello [0004]).
With regard to claim 9, Kumar in view of Annapragada, Kant, George and Ganguli teaches all the limitations of claim 1 as described above. Kumar in view of Annapragada, Kant, George and Ganguli does not teach the estimated available bandwidth as described in claim 9. Bello teaches
wherein an available storage bandwidth for the processing session is estimated based on historical data for the storage nodes ([0019] “The resource availability map reflects current and specified future loads and amounts of available memory or central processing unit time, and also projected needs over future time periods as extrapolated or estimated from historic data.”).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to have modified the method as disclosed by Kumar in view of Annapragada, Kant, George and Ganguli with the estimated available bandwidth as taught by Bello as this “enables network computing environment services to negotiate with regard to the sharing of resources” (Bello [0004]).
Claims 7 and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Kumar in view of Annapragada, Kant, George and Ganguli as applied to Claim 1 above, and further in view of Park et al. (US PGPUB 2018/0129425).
With regard to claim 7, Kumar in view of Annapragada, Kant, George and Ganguli teaches all the limitations of claim 1 as described above. Kumar in view of Annapragada, Kant, George and Ganguli does not teach the bandwidth allocation as described in claim 7. Park teaches
further comprising allocating a connection bandwidth to a connection between at least one of the storage nodes and at least one of the one or more compute nodes through one of the one or more network paths ([0084] “The data management system 100 receives a read request from the processing node 10 at step S100.” [0086] “] The I/O bandwidth setting unit 1123 of the data management system 100 decides and allocates the bandwidth, or the amount of parts to be read from the respective storage nodes 120, 130 and 140 according to the I/O performance of the respective storage nodes 120, 130 and 140 at step S300.”).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to have modified the method as disclosed by Kumar in view of Annapragada, Kant, George and Ganguli with the bandwidth allocation as taught by Park for purposes of “adaptively [adjusting] amounts of the respective parts of the requested data to be read from the respective storages distributed over the network depending on I/O performances of the respective storages, thereby improving the performance” (Park [0009]).
With regard to claim 13, Kumar in view of Annapragada, Kant, George and Ganguli teaches all the limitations of claim 1 as described above. Kumar in view of Annapragada, Kant, George and Ganguli does not teach the performance monitoring as described in claim 13. Park teaches
further comprising monitoring actual performance of the storage nodes for the processing session ([0075] “In the present embodiment, the distributed resource management unit 112 further includes an I/O bandwidth setting unit 1123 and an I/O performance monitoring unit 1124.”).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to have modified the method as disclosed by Kumar in view of Annapragada, Kant, George and Ganguli with the performance monitoring as taught by Park for purposes of “adaptively [adjusting] amounts of the respective parts of the requested data to be read from the respective storages distributed over the network depending on I/O performances of the respective storages, thereby improving the performance” (Park [0009]).
With regard to Claims 15-18, these claims are equivalent in scope to Claims 1-7 and 10-12 rejected above, merely having a different independent claim type, and as such Claims 15-18 are respectively rejected under the same grounds and for the same reasons as discussed above with regard to Claims 1-7 and 10-12.
With further regard to Claim 15, the claim recites additional elements not specifically addressed in the rejection of Claim 1. The Kumar reference also anticipates these additional elements of Claim 15, for example, wherein the system comprises:
one or more network paths configured to couple the storage nodes to one or more compute nodes for the processing session ([0040] “each of pooled system drawers 1 and 2 includes a plurality of compute nodes 500,” wherein Link 412 comprises the “one or more network paths”.).
With further regard to Claim 15, Annapragada further teaches:
a storage query manager configured to create a storage query plan ([0024] “A Dynamic Query Planner (DQP) transforms queries received from a client into an ordered series of operations. This ordered series of operations is called a query plan.”).
Claims 19-20:
With regard to Claims 19-20, these claims are equivalent in scope to Claims 1-2 and 7 rejected above, merely having a different independent claim type, and as such Claims 19-20 are respectively rejected under the same grounds and for the same reasons as discussed above with regard to Claims 1-2 and 7.
With further regard to Claim 19, the claim recites additional elements not specifically addressed in the rejection of Claim 1. The Annapragada reference also anticipates these additional elements of Claim 19, for example, the method further comprising:
allocating one of the one or more compute nodes as part of the storage query plan ([0166] “The DQP will capture information about the compute nodegroup to be used at the beginning of query planning The DQP captures the name of the nodegroup, and the members (nodes) of that nodegroup. It indicates that it may be placing intermediate tables on these nodes by incrementing a reference counter on those nodes. It indicates that it is referencing the nodegroup by incrementing a reference counter on the nodegroup. These reference counters are decremented upon completion of execution of the query. In this way, the EPDBMS can record its "affiliation" to specific nodes that are members of the compute nodegroup, and the nodegroup that is being used as the compute nodegroup.”).
With further regard to Claim 20, the claim recites additional elements not specifically addressed in the rejection of Claim 1. The Kumar reference also anticipates these additional elements of Claim 20, for example, the method further comprising:
allocating a second storage node based on the erasure coded training dataset; allocating a second compute node of the one or more compute nodes; allocating a second bandwidth for a second network connection between the second storage node and the second compute node; and the resource allocation map is further based on the second storage node, the second compute node, and the second network connection ([0056] “Compute node 700 includes a processor 710 including a core section 712 including a plurality of processor cores 714.” [0081] “In a block 904, the compute node resources are composed, including allocation of remote storage devices. For example, under one process flow a IaaS customer will request use of a compute node with certain resources,” wherein the “second” resources, i.e. “storage node” and “compute node”, are taught by Kumar, i.e. the “remote storage devices” and “a plurality of processor cores”.).
Response to Arguments
With respect to Applicant’s argument, Pages 7-10 of the Remarks filed 1/15/2026, regarding amended Independent Claim 1, that the previously cited prior art does not teach the newly amended limitations which recite, “access an erasure coded training dataset”, “locating objects in the erasure coded training dataset” and “mapping the objects to a resource map of the storage nodes and one or more compute nodes,” the Office respectfully disagrees.
With respect to the newly amended limitation which recites, “access an erasure coded training dataset,” the Office has provided additional citations showing that the Kant reference does teach and make obvious this limitation. Further, the Applicant argues that Kant teaches away from this limitation since Kant recites in [0430], “to store data in object stores with no erasure coding at all (at least none under the direction of the virtual storage system or the virtual drive server ... ,” the Office respectfully disagrees and contends that Kant goes on further to state in [0430]:
“to store data in object stores with no erasure coding at all (at least none under the direction of the virtual storage system or the virtual drive servers—the object store implementation may well make extensive use of erasure coding internally, but that is opaque to the virtual storage system or the virtual drive servers that we are describing here).”
As such, since Kant discloses that object store “may well make extensive use of erasure coding internally” then it can be said that the Kant reference does teach and make obvious the newly amended limitation of Claim 1 which recites “access an erasure coded training dataset”, as further discussed in the rejection of Claim 1 above.
With respect to the newly amended limitation which recites, “locating objects in the erasure coded training dataset,” the Office has provided additional citations showing that the Annapragada reference does teach and make obvious this limitation. For example, Annapragada recites:
[0118] “A validated query is received by the Dynamic Query Planner (DQP) in the step labeled 601. The DQP deconstructs the query and identifies all tables that are referenced in the query (602).”
[0119] “The DQP then identifies groupings of tables referenced in the query called ‘partitions’, and constructs the grouping that contains the fewest partitions (604).”
[0133] “The actions taken in step 616 are recorded for use in constructing the query plan.”
[0134] “each node in the system executes a fully functional DBMS that is able to completely plan, optimize and execute queries for the data resident on that node,” wherein the “data” in Annapragada is the “objects in the erasure coded training dataset” as taught by Kant above.
As such, since Annapragada discloses a system which is able to plan, query and locate data from nodes, wherein the data may be the “objects in the erasure coded training dataset” as taught by Kant, then it can be said that Annapragada in view of Kant, does teach and make obvious the newly amended limitation of Claim 1 which recites “locating objects in the erasure coded training dataset... as part of the storage query plan”, as further discussed in the rejection of Claim 1 above.
With respect to the newly added limitation which recites, “mapping the objects to a resource map of the storage nodes and one or more compute nodes,” since this claim language was newly added in the most recent claim amendment the Office has cited further disclosure from the Ganguli reference which teaches said claim language. The Ganguli reference recites the following:
[0048] “the performance management server 140 configures one or more routing tables, such as a CRUSH (Controlled Replication Under Scalable Hashing) map used by the storage nodes 160 to route data objects used by the one or more compute nodes 150 provisioned for the client device 120 to placement groups, which in turn, are associated with specific data storage devices 220 of the storage nodes 160.”
[0052] “CRUSH map in which the selection of the placement group is based on a storage pool ID and an object ID.”
As such, it has been shown that the Ganguli reference does in fact teach the newly amended limitation which recites “mapping the objects to a resource map of the storage nodes and one or more compute nodes”.
With respect to the amended limitation which recites, “allocating a second set of the storage nodes for the processing session based on the erasure coded training dataset, locating the objects, and the resource map,” the Office has provided further explanation and/or citations from the Kumar and George references in order to show that this newly amended limitation is taught and made obvious by at least the teachings of Kumar in view of George, see the modified rejection of Claim 1 above for further details.
With respect to the Applicant’s arguments, Page 10 of the Remarks, that the features of remaining Claims 2-20 are not taught by the cited prior art, the Office respectfully disagrees. These arguments rely upon the arguments as presented in relation to Claim 1, and as such the Office directs the Applicant to the response above regarding these arguments.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure is as follows:
Bhattacharjee et al. (US PGPUB 2018/0089278) discloses systems and methods for processing queries against one or more dataset sources utilizing dynamically allocated partitions, including use of a query coordinator which can maintain a mapping between generated unique identifiers, datasets and partitions that are associated with information stored by a query acceleration data store.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to NICHOLAS J SIMONETTI whose telephone number is (571)270-7702. The examiner can normally be reached Monday-Thursday 10AM-6PM 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, Arpan Savla can be reached at (571) 272-1077. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/NICHOLAS J SIMONETTI/ Primary Examiner, Art Unit 2137 March 21, 2026