DETAILED ACTION
1. The present application 19/116,959, filed on 03/28/2025, is being examined under the first inventor to file provisions of the AIA . Clams 1-20 are pending in this application.
Drawings
2. The drawings received on 03/28/2025 are accepted by the Examiner.
Information Disclosure Statement
3. The information disclosure statement (IDS) submitted on 03/28/2025 is in compliance with the provisions of 37 CFR 1.97.
Claim Rejections - 35 USC § 112
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.
4. 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) 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):
(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). The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) 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). The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
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) 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. Claims 10-18 recites “a plurality of computing nodes.” Although the term “means” is not used, the presumption that 35 USC 112(f) does not apply is rebutted because the” computing nodes” are recited in association with the function of providing the mapping of the plurality of targets to the plurality of storage buckets, while the claims do not recite sufficient structure for performing the recited function. In particular, the claims do not specify what structure constitutes each “computing node”, such that it cannot be determined from the claim language whether the computing nodes are implemented by hardware, software executed by hardware, or a combination thereof. According, the “computing nodes” limitation is under 35 USC 112(f). The Specification is reviewed to determine the corresponding structure for the recited “computing nodes” (See Specification para. [0006] and para. [0065] and Figure 10) disclose an electronic device including one or more processors and a memory and further disclose that the storage cluster includes a plurality of storage buckets, a plurality of computing nodes, and a plurality of targets mapped to the storage buckets through the computing nodes.
If applicant does not intend to have these limitation(s) interpreted under 35 U.S.C. 112(f), applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/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
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, 8, 9, 10, 17-19 are rejected under 35 U.S.C. 103 as being unpatentable over Liu (CN 108287669 A) and in view of Udupi (US 2016/0349993 A1).
Referring to claims 1 and 19, Liu discloses a method for managing a storage cluster with a composable infrastructure (See para. [0046], para. [0080] and Figure 3, a distributed storage system including a plurality of hosts and OSDs arranged according to a cluster topology) comprising:
receiving a file to be stored in the storage cluster (See para. [0060], para. [0072] and para. [0084], receiving a request from a user to store a data file in the distributed storage system);
the storage cluster including a plurality storage buckets (See para. [0080], the distributed storage system has a sub-cluster logical division above the host level), a plurality of computing nodes (See para. [0080], each sub-cluster comprises a plurality of hosts containing the OSDs assigned to a service group), and a plurality of targets mapped to the plurality of storage buckets though the plurality of computing nodes (See para. [0046], para. [0080] and Figure 3, the hosts correspond to the claimed computing nodes, and the OSDs correspond to the claimed targets, also the sub-cluster includes a plurality of hosts containing the OSDs);
determining a mapping of the plurality of targets to the plurality of computing nodes (See para. [0071], para. [0080], para. [0083] and Figure 3, determining an association of OSDs with respective hosts, the OSDs are located on respective hosts and the hosts containing the OSDS from the corresponding sub-cluster) […];
generating and storing two or more copies of the file, each copy of the file being stored in a storage bucket and a corresponding target, wherein a copy of the file is split among the one or more computing nodes mapped to the storage bucket (See para. [0062], para. [0074], para. [0080], para. [0086] and Figure 3, dividing the data file into a plurality of data blocks, mapping the data blocks to placement groups (PGs); generating multiple replicas of each PG and storing the replicas in OSDs having the corresponding sub-cluster identifier; CRUSH [e.g., Controlled Replication Under Scalable Hashing Algorithm] places the replicas within the sub-cluster and on different hosts);
Liu does not explicitly disclose determining a mapping rule of each of the plurality of storage buckets to one of the plurality of targets by connecting through one or more of the plurality of computing nodes.
Udupi discloses determining a mapping rule of each of the plurality of storage buckets to one of the plurality of targets by connecting through one or more of the plurality of computing nodes (See para. [0026], para. [0027], para. [0031] and para. [0045] and Figure 1, a hierarchical CRUSH map in which OSD/storage-device buckets are associated with host buckets, host buckets are associated with higher-level buckets, and rules/policies are defined based on the hierarchical map for determining an OSD on which data is to be stored, note in para. [0045], using CRUSH rules and the hierarchal map to identify/select the primary, secondary, and tertiary OSDS for storing replicas).
Therefore, it would have been obvious to a person of ordinary skill in the computer art before the effective filing date of the claimed invention to modify the storage system of Liu to employ the hierarchical mapping arrangement and CRUSH rules taught by Udupi, thereby mapping storage buckets through host/computing nodes to select OSD/storage targets in order to provide reliable placement and distribution of replicated data within the distributed storage cluster. Such a modification would have been predictable because both references (Udupi and Liu) employ CRUSH-based techniques for determining storage location of replicated data in a distributed storage (See Upupid, para [0026], para. [0037] and para. [0031] and para. [0045]).
As to claims 8 and 17, Liu in view of Udupi discloses the storage cluster further includes a plurality of sub storage buckets connected between the plurality of storage buckets and the plurality of computing nodes (See Udupi, para. [0026], para. [0031] and Figure 1, a hierarchical CRUSH map having multiple levels of parent and child buckets, including location, row rack, chassis, host, and OSD buckets, wherein higher-level buckets aggregate lower-level bucket and storage devices).
Therefore, it would have been obvious to a person of ordinary skill in the computer art before the effective filing date of the claimed invention to modify the storage system of Liu to employ a plurality of sub storage buckets connected between the plurality of storage buckets and the plurality of computing nodes, taught by Udupi in order to provide reliable placement and distribution of replicated data within the distributed storage cluster. Such a modification would have been predictable because both references (Udupi and Liu) employ CRUSH-based techniques for determining storage location of replicated data in a distributed storage (See Upupid, para [0026], para. [0037] and para. [0031] and para. [0045]).
As to claims 9 and 18, Liu discloses a copy of the file corresponding to a storage bucket composed of portions of the file stored in respective storage targets (See para. [0074], para. [0080], para. [0086], dividing a data file into a plurality of data blocks, mapping the data blocks to placement groups, and storing multiple copies of the data blocks/placement groups in respective OSDs using CRUSH; a plurality of hosts containing the OSDs assigned to a service group forms a sub-cluster and that copies of the placement groups are stored on different OSDs/hosts within the sub-cluster).
Liu does not explicitly disclose the targets being mapped to computing nodes that are aggregated by the storage bucket.
Udupi discloses the targets being mapped to computing nodes that are aggregated by the storage bucket (See para. [0026]-para. [0028] and para. [0031], the hierarchical crush map includes parent buckets that aggregate host/OSD buckets and CRUSH uses the bucket hierarchy to determine the OSDs on which object replicas are stored).
Therefore, it would have been obvious to a person of ordinary skill in the computer art before the effective filing date of the claimed invention to modify the storage system of Liu to employ the hierarchical mapping arrangement and CRUSH rules taught by Udupi, thereby mapping storage buckets through host/computing nodes to select OSD/storage targets in order to provide reliable placement and distribution of replicated data within the distributed storage cluster. Such a modification would have been predictable because both references (Udupi and Liu) employ CRUSH-based techniques for determining storage location of replicated data in a distributed storage (See Upupid, para [0026], para. [0037] and para. [0031] and para. [0045]).
Referring to claims 10, Liu discloses a storage cluster with a composable infrastructure (See para. [0046], para. [0080] and Figure 3, a distributed storage system including a plurality of hosts and OSDs arranged according to a cluster topology), comprising:
a plurality of storage buckets (See para. [0080], the distributed storage system has a sub-cluster logical division above the host level);
a plurality of computing nodes (See para. [0080], each sub-cluster comprises a plurality of hosts containing the OSDs assigned to a service group), each of plurality of the storage buckets being mapped to one or more of the plurality of computing nodes, each of the plurality of computing nodes being mapped to one or more storage buckets (See para. [0046], para. [0080] and Figure 3, the hosts correspond to the claimed computing nodes, and the OSDs correspond to the claimed targets, also the sub-cluster includes a plurality of hosts containing the OSDs);
a plurality of targets remotely connected to the plurality of computing nodes (See para. [0071], para. [0080], para. [0083] and Figure 3, determining an association of OSDs with respective hosts, the OSDs are located on respective hosts and the hosts containing the OSDS from the corresponding sub-cluster); and a cluster managing platform configured to:
receive a file to be stored in the storage cluster (See para. [0060], para. [0072] and para. [0084], receiving a request from a user to store a data file in the distributed storage system);
determine a mapping of the plurality of targets to the plurality of computing nodes (See para. [0071], para. [0080], para. [0083] and Figure 3, determining an association of OSDs with respective hosts, the OSDs are located on respective hosts and the hosts containing the OSDS from the corresponding sub-cluster) […];
generate and store two or more copies of the file, each copy of the file being
stored in a storage bucket and a corresponding target, wherein a copy of the file is split
among the one or more computing nodes mapped to the storage bucket (See para. [0062], para. [0074], para. [0080], para. [0086] and Figure 3, dividing the data file into a plurality of data blocks, mapping the data blocks to placement groups (PGs); generating multiple replicas of each PG and storing the replicas in OSDs having the corresponding sub-cluster identifier; CRUSH [e.g., Controlled Replication Under Scalable Hashing Algorithm] places the replicas within the sub-cluster and on different hosts).
Liu does not explicitly disclose determine a mapping rule of each of the plurality of storage buckets to one of the plurality of targets by connecting through one or more of the plurality of computing nodes.
Udupi discloses determining a mapping rule of each of the plurality of storage buckets to one of the plurality of targets by connecting through one or more of the plurality of computing nodes (See para. [0026], para. [0027], para. [0031] and para. [0045] and Figure 1, a hierarchical CRUSH map in which OSD/storage-device buckets are associated with host buckets, host buckets are associated with higher-level buckets, and rules/policies are defined based on the hierarchical map for determining an OSD on which data is to be stored, note in para. [0045], using CRUSH rules and the hierarchal map to identify/select the primary, secondary, and tertiary OSDS for storing replicas).
Therefore, it would have been obvious to a person of ordinary skill in the computer art before the effective filing date of the claimed invention to modify the storage system of Liu to employ the hierarchical mapping arrangement and CRUSH rules taught by Udupi, thereby mapping storage buckets through host/computing nodes to select OSD/storage targets in order to provide reliable placement and distribution of replicated data within the distributed storage cluster. Such a modification would have been predictable because both references (Udupi and Liu) employ CRUSH-based techniques for determining storage location of replicated data in a distributed storage (See Upupid, para [0026], para. [0037] and para. [0031] and para. [0045]).
Claims 2, 3, 5-7, 11, 12 and 14-16 are rejected under 35 U.S.C. 103 as being unpatentable over Liu (CN 108,287,669 A) and in view of Udupi (US 2016/0349993 A1) and further in view of Amit (US 2024/0143209 A1).
As to claims 2 and 11, Liu does not explicitly disclose monitoring a status of each of the plurality of targets to determine whether the of targets include an abnormal target
Amit discloses monitoring a status of each of the plurality of targets to determine whether the of targets include an abnormal target (See para. [0183], para. [0186], para. [0197], para. [0200]-para [0206], the orchestra regularly checks components for errors, centrally monitors the storage system, monitors each server’s initiator/RAID level, monitors block-device health including I/O errors and response time, accumulates drive-health information and recognizes a drive failure); disconnecting, in response to determining that the plurality of targets include the abnormal target, the abnormal target from the plurality of computing nodes (See para. [0193], para. [0209], removing the malfunctioned disk and the orchestrator instructs each server using the failed disk to fail the failed disk in each RAID component); and generating a request for fixing the abnormal target (See para. [0183], para. [0212], an error causes an alert to be triggered and handled by a user/application, and after rebuilding the failed drive is taken offline and the user instructed to replace it).
Therefore, it would have been obvious to a person of ordinary skill in the computer art before the effective filing date of the claimed invention to modify the storage system of Liu/Udupi to include the monitoring and failure-handing techniques taught by Amit, in order to timely detect and isolate an abnormal storage target and facilitate repair or placement, thereby maintaining reliable operation of the distributed storage system. Such a modification would have been predictable because all references (Amit, Udupi and Liu) relate to distributed storage systems employing multiple storage devices and techniques for maintaining reliable storage data in the event of storage-device changes or failures.
As to claims 3 and 12, Amit also discloses determining, in response to determining that the plurality of targets includes the abnormal target, whether an idle target is available (See para. [0191], para. [0196], para. [0198], para. [0202], para. [0207] a replacement requires a free spare disk available for replacement, the orchestra coordinates allocation of a hot-spare disk upon failure and allocates a new hot-spare disk from the storage pool).
Therefore, it would have been obvious to a person of ordinary skill in the computer art before the effective filing date of the claimed invention to modify the storage system of Liu/Udupi to include the monitoring and failure-handing techniques taught by Amit, in order to timely detect and isolate an abnormal storage target and facilitate repair or placement, thereby maintaining reliable operation of the distributed storage system. Such a modification would have been predictable because all references (Amit, Udupi and Liu) relate to distributed storage systems employing multiple storage devices and techniques for maintaining reliable storage data in the event of storage-device changes or failures.
As to claims 5 and 14, Amit also discloses connecting, in response to the idle target being available, the idle target to computing nodes that are mapped to the abnormal target (See para. [0193], para. [0198], para. [0202], para. [0207] and para. [0209], removing the malfunctioned disk and connecting the spare disk, the same new spare disk is allocated for all servers using the failed disk, and each server is instructed to add the selected spare disk to its RAID component); and
generating a copy of the file corresponding to one of the plurality of storage buckets that is mapped to the newly connected target, according to copies of the file corresponding to other ones of the plurality of storage buckets (See para. [0189]-para. [0190], para. [0192], para. [0210]; missing data is reconstructed from the remaining disks/parity, and the new spare chunk is rebuilt using valid data from the failed drive, if possible or RAID mirror/parity).
Therefore, it would have been obvious to a person of ordinary skill in the computer art before the effective filing date of the claimed invention to modify the storage system of Liu/Udupi to include the monitoring and failure-handing techniques taught by Amit, in order to timely detect and isolate an abnormal storage target and facilitate repair or placement, thereby maintaining reliable operation of the distributed storage system. Such a modification would have been predictable because all references (Amit, Udupi and Liu) relate to distributed storage systems employing multiple storage devices and techniques for maintaining reliable storage data in the event of storage-device changes or failures.
As to claims 6 and 15, Amit also discloses receiving, from the plurality of targets, status information of the plurality of targets; and monitoring the status of each of the plurality of targets according to the status information (See para. [0142]-para. [0143], para. [0201], para. [0204]-para. [0206] the orchestrator monitors the health of each storage medium and collects performance information; monitors the initiator and RAID levels of the servers; the initiator layer of each server is monitored for block-device health such as I/O errors and response time; the orchestra accumulates the servers’ drive-health information and recognizes a drive failure).
Therefore, it would have been obvious to a person of ordinary skill in the computer art before the effective filing date of the claimed invention to modify the storage system of Liu/Udupi to include the monitoring and failure-handing techniques taught by Amit, in order to timely detect and isolate an abnormal storage target and facilitate repair or placement, thereby maintaining reliable operation of the distributed storage system. Such a modification would have been predictable because all references (Amit, Udupi and Liu) relate to distributed storage systems employing multiple storage devices and techniques for maintaining reliable storage data in the event of storage-device changes or failures.
As to claims 7 and 16, Amit also discloses wherein: at least one of the plurality of targets includes a plurality of physical storage devices; and the plurality of storage devices includes a first storage device remotely attached to one of the plurality of computing nodes and a second storage device remotely attached to another one of the plurality of computing nodes (See para. [0024], para. [0144]-para.[0159] and Figure 6, RAID combining multiple physical disk-drive components into a logical storage unit, a target server 300 including storage media 304, an initiator server 302 configured to access remote resources over a data-plane network, exposing portion of the storage media over the network, and an initiator server interacting with at least two target servers, the RAID storage stack provides data redundancy from multiple portions of storage media embedded within multiple target servers).
Therefore, it would have been obvious to a person of ordinary skill in the computer art before the effective filing date of the claimed invention to modify the distributed storage system of Liu/Udupi to employ the remote storage arrangement taught by Amit, in order to provide distributed access to physical storage devices across multiple computing nodes and thereby improve storage availability and redundancy. Such a modification would have been predictable because all references (Amit, Udupi, Liu) relate to distributed storage systems employing multiple storage devices for reliably storing replicated data.
Allowable Subject Matter
Claims 4 objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Rao et al. (US 11,671,497 B2) discloses a method includes identifying, based on a request to write data to a volume provided by storage nodes in a storage node cluster, a cluster hierarchy associated with the storage node cluster, the cluster hierarchy identifying storage characteristics of the storage nodes, wherein the cluster hierarchy is based on data characterizing performance and storage capabilities of the storage nodes; based on the request, selecting a storage node for storing the data in the volume, the selecting being based, at least in part, on the storage characteristics identified by the cluster hierarchy and on one or more data distribution parameters associated with the storage volume; and transmitting the data to the storage node.
Howard et al. (US 11,599,508 B1) discloses a method for managing data in a file system. A source bucket that contains a plurality of objects on a cloud computing environment may be determined. The source bucket may be associated with a target directory in the file system based on an integration relationship. Object keys from the object store may be provided based on a query and filter rules such that each object key corresponds to an object in the source bucket that conforms to the filter rules. Source objects in the source bucket may be determined based on the object keys such that each source object corresponds to one of the object keys. Target files that correspond to the source objects may be determined based on the integration relationship. In response to determining changed target files or changed source objects, copying the changed source objects or the changed target files to the target directory.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to YUK TING CHOI whose telephone number is (571)270-1637. The examiner can normally be reached Monday-Friday 9am-6pm.
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, AMY NG can be reached at 5712701698. 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.
/YUK TING CHOI/ Primary Examiner, Art Unit 2164