DETAILED ACTION
This office action is in response to claims filed 10 June 2026.
Claims 1-24 are pending.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Arguments
Applicant's arguments filed 10 June 2026 regarding the rejections made under 35 USC § 101 have been fully considered but they are not persuasive.
On pages 8-9 of the remarks, Applicant argues:
“Claims 1, 9, and 17, (upon which claims 2-8, 10-16, and 18-24 depend) were not rejected under 35 USC § 101.
“Applicant respectfully asserts that since claims 2-8, 10-16, and 18-24 incorporate the subject matter of one of claims 1, 9, and 17 respectively, that claims 2-8, 10-16, and 18-24 are also subject matter eligible.
The examiner respectfully disagrees. In general, an independent claim may comprise eligible subject matter because it only recites additional elements and does not recite a mental process. However, a dependent claim may subsequently introduce a mental process, and that dependent claim may be rejected for ineligible subject matter because the dependent claim provides a mental process under step 2A prong 1, and the analysis may further find that any additional elements of the dependent claim and the additional elements of the independent claim fail to integrate the judicial exception of the dependent claim into a practical application, and fail to provide significantly more. Therefore, the applicant’s argument that dependent claims are eligible because they incorporate eligible subject matter of independent claims is not persuasive.
On pages 9-11, applicant’s arguments are moot because they fail to address the new reference (SHANKAR, cited below) used to reject the claims in the current rejection.
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 2-5, 7, 10-13, 15, and 18-21, and 23 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea (mental process) without significantly more. Claims 1, 9, and 17 are not rejected because they do not recite an abstract idea.
Regarding claim 2, in step 1 of the 101 analysis set forth in MPEP 2106, the claim recites a product that allocates a cloud resource to a node that implements a virtual storage controller providing access to a storage array by user virtual machines. A method is one of the four statutory categories of invention.
In step 2A, prong 1 of the 101 analysis set forth in the MPEP 2106, the examiner has determined that the following limitations recite a process that, under the broadest reasonable interpretation, covers a mental process but for recitation of generic computer components:
i. “allocating a cloud bare metal node” (a person can mentally allocate resource nodes by simply evaluating resource node and making a judgement of how to assign the resource node (MPEP 2106.04(a))).
ii. “configuring storage devices of the second type of computing node into the common address space” (a person can mentally configured storage devices in a common address space by simply evaluating storage devices and making a judgement that they should be a part of the common address space (MPEP 2106.04(a))).
If claim limitations, under their broadest reasonable interpretation, covers performance of the limitations as a mental process but for the recitation of generic computer components, then it falls within the mental process grouping of abstract ideas. Accordingly, the claim “recites” an abstract idea.
In step 2A, prong 2 of the 101 analysis set forth in MPEP 2106, the examiner has determined that the following additional elements do not integrate this judicial exception into a practical application:
iii. In claim 1, “A non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by a processor cause the processor to perform acts” (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea (MPEP 2106.05(f)).
iv. In claim 1, “implementing a first type of computing node in the computing environment having both a first virtualization storage controller (VSC) and a user virtualized entity (UVE), wherein the UVE interacts with the first VSC to access the storage pool” (generally links the use of the judicial exception to a particular technological environment or field of use (MPEP 2106.05(h))).
v. In claim 1, “implementing a first type of computing node in the computing environment having both a virtualization storage controller and a user virtual machine (UVM), wherein the UVM interacts with the virtualization storage controller to access the storage pool” (generally links the use of the judicial exception to a particular technological environment or field of use (MPEP 2106.05(h)).
vi. In claim 1, “implementing a second type of computing node in the computing environment having a second VSC but not having any UVEs that interact with the second VSC to access the storage pool, wherein the second type of computing node expands the storage pool in the computing environment” (generally links the use of the judicial exception to a particular technological environment or field of use (MPEP 2106.05(h))).
vii. In claim 1 “VSCs are configured to receive storage access requests on behalf of at least one UVE (insignificant extra-solution activity of mere data gathering (MPEP 2106.05(g)),
viii. In claim 1, “the VSCs process the storage access requests at least by accessing the storage pool (insignificant extra-solution activity of mere data gathering (MPEP 2106.05(g)).
Since the claim does not contain any other additional elements that are indicative of integration into a practical application, the claim is “directed” to an abstract idea.
In step 2B of the 101 analysis set forth in the 2019 PEG, the examiner has determined through reanalysis of the following limitations considered in step 2A prong 2, that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
iii. In claim 1, “A non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor cause acts comprising” (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea (MPEP 2106.05(f)).
iv. In claim 1, “maintaining a computing environment having a storage pool formed using a common address space across storage located on multiple computing nodes in the computing environment” (generally links the use of the judicial exception to a particular technological environment or field of use (MPEP 2106.05(h))).
v. In claim 1, “implementing a first type of computing node in the computing environment having both a first virtualization storage controller (VSC) and a user virtualized entity (UVE), wherein the UVE interacts with the first VSC to access the storage pool” (generally links the use of the judicial exception to a particular technological environment or field of use (MPEP 2106.05(h)).
vi. In claim 1, “implementing a second type of computing node in the computing environment having a second VSC but not having any UVEs that interact with the second VSC to access the storage pool, wherein the second type of computing node expands the storage pool in the computing environment” (generally links the use of the judicial exception to a particular technological environment or field of use (MPEP 2106.05(h))).
vii. In claim 1 “VSCs are configured to receive storage access requests on behalf of at least one UVE (well-understood, routine, and conventional activity of receiving data over a network (MPEP 2106.05(d)(II)),
viii. In claim 1, “the VSCs process the storage access requests at least by accessing the storage pool (well-understood, routine, and conventional activity of retrieving data from memory (MPEP 2106.05(d)(II)).
Considering the additional elements individually and in combination, and the claim as a whole, the additional elements do not provide significantly more than the abstract idea. Therefore, the claim is not patent eligible.
Regarding claim 3, the additional element “allocating a cloud bare metal node” does not render the claim patent eligible because under step 2A prong 1, it recites a judicial exception (mental process) (a person can mentally allocate resource nodes by simply evaluating resource node and making a judgement of how to assign the resource node (MPEP 2106.04(a)). Further, the additional limitation of “configuring storage devices of the second type of computing node into the common address space” does not render the claim patent eligible because under step 2A prong 1, it recites a judicial exception (mental process) (a person can mentally configured storage devices in a common address space by simply evaluating storage devices and making a judgement that they should be a part of the common address space (MPEP 2106.04(a)).
Regarding claim 4, the additional element “mapping a set of dependencies to one or more cloud provider facilities” does not render the claim patent eligible because under step 2A prong 1, it recites a judicial exception (mental process) (a person can mentally map dependencies by simply evaluating the dependencies and making a judgement of which cloud provider facilities should be associated with them (MPEP 2106.04(a)).
Regarding claim 5, the additional element “wherein implementing the second type of computing node comprises configuring the second type of computing node using a first portion of initialization code that corresponds to one or more cloud provider facilities or using a second portion of initialization code that corresponds to an on-premises computing cluster” does not render the claim patent eligible because under step 2A prong 1, it recites a judicial exception (mental process) (a person can mentally configure nodes by simply evaluating the configuration parameters and making a judgement that a particular node should have those parameters (MPEP 2106.04(a)).
Regarding claim 7, the additional element “establishing network communications between cloud provider infrastructure and a hybrid cloud configurator module and wherein the hybrid cloud configurator module carries out a computing node configuration protocol via network communications between the cloud provider infrastructure and an on-premises computing cluster” does not render the claim patent eligible because under step 2A prong 1, it recites a judicial exception (mental process) (a person can mentally establish communications via a protocol by simply making a judgement that communications via that protocol may be enabled (MPEP 2106.04(a)).
Regarding claims 10-13, 15, and 18-21, and 23, they comprise limitations similar to 2-5, and 7, and are therefore rejected for similar rationale.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-5, 9-13, and 17-21 is/are rejected under 35 U.S.C. 103 as being unpatentable over SHANKAR et al. Pub. No.: US 2023/0089663 A1 (hereafter SHANKAR), in view of ZHANG et al. Pub. No.: US 2024/0086369 A1 (hereafter ZHANG369).
ZHANG369 was cited previously.
Regarding claim 1, SHANKAR teaches:
A non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor ([0047] Embodiments within the scope of the present invention also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any available media that can be accessed by a general-purpose or special-purpose computer system), cause acts comprising:
maintaining a computing environment having a storage pool ([0053] In this description and the following claims, “cloud computing” is defined as a model for enabling on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services))…across storage located on multiple computing nodes in the computing environment (Fig. 1a, Storage nodes 101a-101n of environment 100a);
implementing a first type of computing node in the computing environment having both a first virtualization storage controller(VSC) and a user virtualized entity (UVE), wherein the UVE interacts with the first VSC to access the storage pool ([0014] Computer architectures 100a/100b each include a storage management system 101 in communication with one or more clients 109 (e.g., clients 109a to 109n)…In embodiments, such as when a client 109 comprises a virtual machine or application operating on the same physical hardware as the storage management system 101, the storage management system 101 communicates with the client 109 over a local communications channel, such as a local bus, shared memory, inter-process communications, etc. [0023] The storage management system 101 includes an I/O management component 102, and a storage manager component 106…The I/O management component 102 determines how various I/O operations are to be assigned to available storage nodes 110 based on those node's current status, and instructs the storage manager component 106 to deliver assigned I/O operations to the appropriate storage node(s)); and
implementing a second type of computing node in the computing environment having a second VSC but not having any UVEs that interact with the second VSC to access the storage pool, wherein the second type of computing node expands ([0015] In example computer architecture 100a the storage management system 101 is also in communication with a plurality of storage nodes 110 (e.g., storage nodes 110a, 110b, 110n). In computer architecture 100a, these storage nodes 110 each comprise computer systems that include one or more corresponding storage devices 111 (e.g., storage devices 111a-1 to 111a-n in storage node 110a, storage devices 111b-1 to 111b-n in storage node 110b, storage devices 111c-1 to 111c-n in storage node 110c). [0024] each storage node 110 is also shown as including a storage manager component 106 (i.e., storage manager components 106a, 106b, and 106n)), VSCs are configured to receive storage access requests on behalf of at least one UVE, and the VSCs process the storage access requests at least by accessing the storage pool ([0023] The storage management system 101 includes an I/O management component 102, and a storage manager component 106…The I/O management component 102 determines how various I/O operations are to be assigned to available storage nodes 110 based on those node's current status, and instructs the storage manager component 106 to deliver assigned I/O operations to the appropriate storage node(s)). [0016] given a plurality of N storage nodes 110 backing a resilient storage volume, the storage management system 101 enables data to be read by the clients 109 from the resilient storage volume (i.e., virtual machine clients access storage pools, representing “storage access requests” using storage manager components)).
While SHANKAR discusses enabling client access to storage pools, SHANKAR does not explicitly teach:
a storage pool formed using a common address space;
However, in analogous art that similarly discusses enabling client access to storage pools, ZHANG369 teaches:
a storage pool formed using a common address space ([0026] The host devices 102 in some embodiments illustratively provide compute services such as execution of one or more applications 103 on behalf of each of one or more users associated with respective ones of the host devices. Such applications 103 illustratively generate I/O operations that are processed by the storage arrays 106. The term “input-output” as used herein refers to at least one of input and output. For example, I/O operations may comprise write requests and/or read requests directed to logical addresses of a particular storage array 106. [0028] The exemplary storage array 106-1 (i.e., “storage pool”), as shown in FIG. 1 , comprises a plurality of storage devices 108-1, . . . 108-P (collectively, referred to as storage devices 108) (i.e., storage across multiple storage devices, or “computing nodes”) each storing data utilized by one or more of the applications 103 (i.e., storage array provides “common address space” having logical addresses for multiple applications across multiple host devices to read from/write to) running on one or more of the host devices 102)
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to have combined ZHANG369’s teaching of providing a space of logical addresses of a storage array to applications requesting access to the storage array, with SHANKAR’s teaching of allowing virtual machine clients to access storage arrays using storage controllers, to realize, with a reasonable expectation of success, a system that allows virtual machine clients to access storage arrays using storage controllers, as in SHANKAR, by providing a space of logical addresses to the virtual machines, as in ZHANG369. A person having ordinary skill would have been motivated to make this combination to improve resource scaling and performance of the storage system (ZHANG369 [0020]).
Regarding claim 2, ZHANG369 further teaches:
implementing the second type of computing node comprises allocating a cloud bare metal node and configuring storage devices of the second type of computing node into the common address space ([0031] At least one of the storage controllers 110 may be implemented as a virtual storage controller running on an embedded hypervisor of the storage array 106-1. The file system capacity adjustment module 114 may be part of such a virtual storage controller, or may be implemented separate from the virtual storage controller on such an embedded hypervisor. Various other arrangements are possible, including where at least a portion of the functionalities of the file system capacity adjustment module 114 is implemented external to the storage array 106-1 (e.g., on one or more of the host devices 102, on a separate server, or on a cloud computing infrastructure) (i.e., implementing a virtual storage controller on external cloud computing infrastructure (node) represents implementation on a “cloud bare metal node”)).
Regarding claim 3, ZHANG369 further teaches:
implementing the second type of computing node comprises allocating a cloud native node and configuring storage devices of the second type of computing node into the common address space ([0025] The host devices 102 illustratively comprise servers or other types of computers of an enterprise computer system, cloud-based computer system or other arrangement of multiple compute nodes associated with respective users (i.e., cloud-based nodes represent “cloud native” nodes)).
Regarding claim 4, ZHANG369 further teaches:
implementing the second type of computing node comprises mapping a set of dependencies to one or more cloud provider facilities ([0025] The host devices 102 illustratively comprise servers or other types of computers of an enterprise computer system, cloud-based computer system or other arrangement of multiple compute nodes associated with respective users. [0054] Compute and/or storage services may be provided for users under a Platform-as-a-Service (PaaS) model, an Infrastructure-as-a-Service (IaaS) model, a Storage-as-a-Service (STaaS) model and/or a Function-as-a-Service (FaaS) model, although it is to be appreciated that numerous other cloud infrastructure arrangements could be used. [0111] Cloud infrastructure as disclosed herein can include cloud-based systems such as Amazon Web Services (AWS), Google Cloud Platform (GCP) and Microsoft Azure. Virtual machines provided in such systems can be used to implement at least portions of a cloud-based prediction-based file system capacity management platform in illustrative embodiments. The cloud-based systems can include object stores such as Amazon S3, GCP Cloud Storage, and Microsoft Azure Blob Storage (i.e., cloud-based hosts “depend” on the infrastructure provided by various provider datacenter facilities)).
Regarding claim 5, ZHANG369 further teaches:
implementing the second type of computing node comprises configuring the second type of computing node using a first portion of initialization code that corresponds to one or more cloud provider facilities or using a second portion of initialization code that corresponds to an on-premises computing cluster ([0112] The cloud infrastructure additionally or alternatively comprises a plurality of containers implemented using container host devices. For example, a given container of cloud infrastructure illustratively comprises a Docker container or other type of Linux Container. The containers may run on virtual machines in a multi-tenant environment, although other arrangements are possible. The containers may be utilized to implement a variety of different types of functionalities within the storage devices. For example, containers can be used to implement respective processing devices providing compute services of a cloud-based system. Again, containers may be used in combination with other virtualization infrastructure such as virtual machines implemented using a hypervisor (i.e., cloud infrastructure nodes used to implement virtual storage controllers in either the first or second type of computing node use docker initialization code running of virtual machine initialization code to provide the controller, and which “corresponds” to the facilities that provide the cloud infrastructure nodes)).
Regarding claim 6, SHANKAR further teaches:
at least one computing node of the first type in the computing environment includes a UVE comprising a virtual machine above a hypervisor ([0055] Some embodiments, such as a cloud computing environment, may comprise a system that includes one or more hosts that are each capable of running one or more virtual machines. During operation, virtual machines emulate an operational computing system, supporting an operating system and perhaps one or more other applications as well. In some embodiments, each host includes a hypervisor that emulates virtual resources for the virtual machines using physical resources that are abstracted from view of the virtual machines (i.e., Resilient Storage Management System acts as a host for client virtual machines that execute above a hypervisor)).
Regarding claim 8, ZHANG369 further teaches:
the at least one UVE comprises multiple containers ([0112] In some embodiments, the cloud infrastructure additionally or alternatively comprises a plurality of containers implemented using container host devices. For example, a given container of cloud infrastructure illustratively comprises a Docker container or other type of Linux Container. The containers may run on virtual machines in a multi-tenant environment, although other arrangements are possible. The containers may be utilized to implement a variety of different types of functionalities within the storage devices) assembled into a pod (The cloud infrastructure 1000 comprises multiple VMs and/or container sets 1002-1, 1002-2, . . . 1002-L implemented using virtualization infrastructure 1004 (i.e., container sets represent “pods”)).
Regarding claims 9-14, 16-22, and 24 they comprise limitations similar to 1-6, and 8 and are therefore rejected for similar rationale.
Claims 7, 15, and 23 are rejected under 35 U.S.C. 103 as being unpatentable over SHANKAR, and ZHANG369, as applied to claims 1, 9, and 17, above, and in further view of ZHANG et al. Pub. No.: US 2016/0154630 A1 (hereafter ZHANG630).
ZHANG630 was cited previously.
Regarding claim 7, while SHANKAR and ZHANG369 executes applications on computing nodes, they do not explicitly teach:
establishing network communications between cloud provider infrastructure and a hybrid cloud configurator module, and wherein the hybrid cloud configurator module carries out a computing node configuration protocol via network communications between the cloud provider infrastructure and an on-premises computing cluster.
However, in analogous art that similarly executes applications on computing nodes, ZHANG630
establishing network communications between cloud provider infrastructure and a hybrid cloud configurator module, and wherein the hybrid cloud configurator module carries out a computing node configuration protocol via network communications between the cloud provider infrastructure and an on-premises computing cluster ([0017] The cloud includes an application server 150. The application server is configured to host and process cloud applications (Apps) 160. The cloud Apps, for example, are mobile Apps which are run on mobile devices. In one implementation, the application server 150 includes hybrid Apps. Hybrid Apps, for example, are hosted on the cloud but utilizes local resources of a local device on which they run. Other types of application may also be included in the application server. The cloud may also include a resource server (not shown). The resource server, for example, is configured to host data or other resources used by the cloud applications. Such hosting and processing may be considered as cloud services provided by the cloud. Various types of cloud services may be provided. The cloud services may be provided in a public, private or hybrid network. [0024] The local environment includes a companion App 138. The companion App is a native App which runs in the local environment. In one implementation, the companion App is a container App. The container App is configured to provide an environment in which an App runs. For example, a hybrid App on the cloud runs in the companion App. In one implementation, the companion App includes plugins for local resources. For example, the companion App includes Cordova plugins. Other types of plugins may also be useful. The plugins provide local resources to the hybrid App when running within the container App (i.e., native companion app represents a hybrid cloud configurator module because it facilitates hybrid application execution on both local resources and cloud provider resources. Further Cordova plugin represents a particular type of “configuration protocol”)).
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to have combined ZHANG630’s teaching of a companion app communicating with cloud provider resources to facilitate execution of hybrid cloud applications, with SHANKAR and ZHANG369’s teaching of executing a virtual storage controller application on a node separate from user virtual machines, to realize, with a reasonable expectation of success, a system that executes a virtual storage controller application, as in SHANKAR and ZHANG369, as a hybrid application having access to both cloud and on-premises resources facilitated by a companion app, as in ZHANG630. A person of ordinary skill would have been motivated to make this combination so that a storage controller application can utilize a hybrid cloud node to more reliably execute applications on more robust resources provided.
Regarding claims 15, and 23, they comprise limitations similar to claims 7, and are therefore rejected for similar rationale.
Conclusion
THIS ACTION IS MADE FINAL. 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 MICHAEL W AYERS whose telephone number is (571)272-6420. The examiner can normally be reached M-F 8:30-5 PM.
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, Aimee Li can be reached at (571) 272-4169. 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.
/MICHAEL W AYERS/Primary Examiner, Art Unit 2195