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 .
Status of the Claims
Claim 31, have been amended. Claims 31-51 are pending.
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) 31 is/are rejected under 35 U.S.C. 103 as being unpatentable over Misra et al. (US 20140052706).
Regarding claim 31, Misra teaches a system in a network, comprising: a first computing device operable to store data; a second computing device operable to maintain metadata for the data ([0080]); and a virtual file system ([0067]) comprising:
a plurality of distributed processors, and a plurality of resiliency nodes ([0052], [0120]), wherein:
each distributed processor of the plurality of distributed processors is operable to manage metadata associated with particular data ([0049], [0073], [0092]),
each resiliency node is operable to store resiliency information, the resiliency information is generated by the plurality of distributed processors,
the particular data is initially stored to a first tier of storage ([0049], [0056] “files are initially stored, the archival storage”) and thereafter migrated to one or more other tiers of storage according to a data migration policy ([0060] “archival storage has a desired QoS level associated with it”, [0062] “QoS levels of individual files/data elements to be archived can be predefined by the client/user according to its importance or criticality”, Claim 6 “placing the chunk on the storage node such that no two data chunks reside on the same storage node” i.e. migrating and balancing data between different storage nodes based on rules),
the data migration policy determines whether to migrate the particular data based on metadata ([0146]) for the particular data and determines a destination storage device for the particular data ([0131] “chunks are moved to those nodes where there are no file chunks … current node and the first node that is unoccupied is identified … sequential search is followed till all chunks are placed in different nodes”, [0133]),
if the particular data is determined to be corrupt ([0115]-[0116] “occurrence of transient failures in storage nodes”, [0155] “Loss of chunk integrity due to silent data corruption in the storage nodes”, [0160]), the resiliency information on one or more resiliency nodes of the plurality of resiliency nodes is used to recover the particular data, and
each of the plurality of distributed processors ([0050], [0071], [0082], [0111]) is operable to determine, using hash-based logic applied to the particular data to generate a hash value corresponding to the particular data ([0073]),
according to data-specific metadata or hash-based logic, the one or more resiliency nodes of the plurality of resiliency nodes that store the resiliency information used to recover the particular data ([0113]), wherein the hash value maps the particular data to the one or more resiliency nodes ([0077], [0085], [0092], [0129]).
Misra teaches a plurality of different storage tiers in the archival system 100 - front end servers 102 and plurality of respective storage nodes 103.
The client “issues a write request using input means 101 along with the file URN, data, desired QoS and guaranteed QoS level. The front end server 102 will take the request and write the file in the archival system” [0124]. Thus, the data is initially stored on the client (1st tier) and is placed /copied / written/ migrated into archive system 100 (second tier) based on QoS policy.
The QoS policy is obviously analogous to the claimed migration policy, because it (1) determines whether to store such data - “Check for existence of the file URN in the archival system to avoid any duplication. This step involves a metadata lookup” [0125] (i.e. if duplicate – do not store) and (2) “identify the storage node to which a particular chunk will be written” [0127], “build a list of storage nodes 103 and their IP addresses” [0129] and “placing the file chunk on a node” [0130] and “ensuring that no two chunks are placed on the same storage node” (aka rules for data migration). Such movement of data between the storage nodes based on the rules is obviously data migration policy, as evidences by [0006] “automatic and transparent migration of data.”
Thus, although Misra does not explicitly teach data migration policy and instead teaches a data placement policy between the client (first tier) and plurality of storage nodes (aka one or more other tiers of storage) , such difference is only in a name of such policy. The functionality of deciding whether to store the data and storing the data based on rules is obviously analogous to the claimed limitation – “migrated to one or more other tiers of storage according to a data migration policy.”
Therefore, the claim limitations not explicitly recited in Misra are implicit.
Claim(s) 31 is/are rejected under 35 U.S.C. 103 as being unpatentable over Nicklin et al. (US 20130204893) in view of Roth (US 20170242725) and Vekiarides et al. (US 20160019148).
Regarding claim 31, Nicklin teaches a system in a network, comprising:
a first computing device operable to store data ([0068]-[0069], F5A:12, 14); a second computing device operable to maintain metadata for the data ([0039] “manages metadata in data storage 18”, [0051]); and a virtual file system ([0041]) comprising:
a plurality of distributed processors ([0020] “file systems distributed across several independent, network storage devices”, [0039], [0077]), and
a plurality of resiliency nodes (F1:DS1, DS2), wherein:
each distributed processor of the plurality of distributed processors is operable to manage metadata associated with particular data ([0039], [0042], [0048], [0050]-[0051]), each resiliency node is operable to store resiliency information, the resiliency information is generated by the plurality of distributed processors ([0042], [0044] “unique virtual snapshot configuration record is copied to each data storage systems 16(1) and 16(2)”, [0046], [0068], [0073]),
if the particular data is determined to be restored NOTE), the resiliency information on one or more resiliency nodes of the plurality of resiliency nodes is used to recover the particular data ([0048], [0069]), and
each of the plurality of distributed processors is operable to determine,tracks the location of files and directories that are distributed across data storage systems 16(1) and 16(2)”, [0042] “metadata storage system that allows an operator or program to locate components, e.g. a file of a virtual snapshot”, [0043] “stored metadata … can locate a particular file or directory. … use that metadata and the snapshot configuration record to locate a file”, [0048] “Using the stored metadata .. translates the request … suitable for execution on data storage system 16(1) … in which the file is actually located”) of the plurality of resiliency nodes that store the resiliency information used to recover the particular data ([0072]-[0073], [0075]), wherein the metadata maps the particular data to the one or more resiliency nodes ([0043] 0048] “Using the stored metadata .. translates the request … suitable for execution on data storage sys[tem 16(1) … in which the file is actually located”, [0063], [0075]).
Nicklin does not explicitly teach, however Vekiarides discloses the particular data is initially stored to a first tier of storage and thereafter migrated to one or more other tiers of storage according to a data migration policy ([0010] “a data processing installation to seamlessly migrate from using physical storage endpoints to a cloud service for data caching”, wherein cloud is second tier [0039]),
whether to migrate the particular data based on metadata for the particular data and determines a destination storage device for the particular data ([0036] “cache managers receive a request to read or write data, they first check to see if the request can be satisfied locally by its respective cache. If not, then the request is passed to the next higher level in the hierarchy”, [0038] “use this metadata including a logical block address (LBA) map to determine whether data is available locally, or must be fetched or stored at some other level”, [0045]-[0046] “determine a physical location for storing data” aka determine destination), and
hash-based logic ([0045]-[0046]) and using hash-based logic applied to the particular data to generate a hash value corresponding to the particular data, wherein the hash value maps the particular data to the one or more resiliency nodes ([0046]-[0048]).
It would have been obvious to one of ordinary skill in the art at the time of invention to modify the teachings of Nicklin to include migrated data to one or more other tiers of storage and hash-based logic as disclosed by Vekiarides. Doing so would make data retrieval more efficient and minimizing the amount of data it must transfer (Vekiarides [0076], [0082]).
Nicklin as modified by Vekiarides does not explicitly teach a data migration policy. Instead Vekiarides allocating different levels of cache hierarchy for data migration [0039]. It is obvious and reasonable to conclude that such data migration is based on some prestored rules (or policies). However, to further obviate such reasoning, Roth discloses - a data migration policy ([0017] “policy management services, archival storage services,” [0029] “set of rules or settings stored in a file, database table, or other structure that specify events and actions to perform upon the occurrence of such specified events”, “configuration may be configurable by a customer,” [0026] “various configuration settings sufficient to perform the task”, [0037])
NOTE Nicklin does not explicitly teach the event that the particular data is determined to be corrupt. Instead, Nicklin teaches computer system requesting a restore. However, it is reasonable to conclude that when system needs a restore, the data on the system is either inaccessible or damaged. In either case, it is only obvious that such data can be corrupt. However, to merely obviate such reasoning Roth teaches in the event that the particular data is determined to be corrupt ([0018] “predetermined events may be … detection of the software or hardware error of the virtual machine”, [0051], [0076] “upon detection of an intrusion/security compromise of the virtual machine, detection of the software or hardware error … “upon the occurrence of certain events, such as upon the occurrence of certain execution errors, upon the detection that the virtual machine is in and on authorized configuration ( e.g., unauthorized software detected is being installed on the virtual machine”), the resiliency information on one or more resiliency nodes of the plurality of resiliency nodes is used to recover the particular data ([0037]).
It would have been obvious to one of ordinary skill in the art at the time of invention to modify the teachings of Nicklin to include a data migration policy and an event that the particular data is determined to be corrupt as disclosed by Roth. Doing so would help in eliminating evidence of attacks and sources of other issues that may have arisen with the system state (Roth [0003]).
Dependent claims are rejected in further view of Bobbitt et al. (US 2003/0115218), Bone et al. (US 2004/0098415), Bergsten et al. (US 2015/0248366), Roth (US 20170242725), Gross et al. (US 2014/0281280) as indicated in the primary rejection above.
Claim(s) 31-51 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sen et al. (US 20070220320) in view of Bobbitt et al. (US 20030115218), Bone et al. (US 20040098415) and in further view of Misra et al. (US 20140052706).
Regarding claim 31, Sen teaches a system in a network, comprising:
a first computing device operable to store data ([0022] “servers hold data generated by the relevant client computer system”); a second computing device (F1A105, 110, 115, [0065]-[0066]) operable to maintain metadata for the data ([0024], [0027], [0064] “settings include … any other instructions or metadata needed to cause each storage node to implement a protection intent”); and a
a plurality of distributed processors ([0020] “storage nodes can be located geographically close together, or co-located on the same machine”, [0021] “backup system 100 as it may be distributed between two locations”), and
a plurality of resiliency nodes, wherein:
each distributed processor of the plurality of distributed processors is operable to manage metadata associated with particular data ([0066], [0068]), each resiliency node is operable to store resiliency information, the resiliency information is generated by the plurality of distributed processors ([0020] “each storage node in the backup system can be configured to receive and store application-consistent backups”, [0039] “backups stored by each storage node”),
the particular data is initially stored to a first tier of storage and thereafter migrated to one or more other tiers of storage ([0034]-[0035], [0076] “first tier of one or more production servers, a next tier of one or more light-weight storage nodes assigned to a portion or all of the one or more production servers, and a further tier of one or more remote storage nodes and a centralized backup server”) according to a data migration policy ([0038]-[0039], [0057]),
the data migration policy ([0011] “administering one or more backup policies”) determines whether to migrate the particular data based on metadata for the particular data and determines a destination storage device for the particular data ([0064] “determines an appropriate backup policy for each of the production servers … available storage in volumes … appropriate state for each storage node, and any other instructions or metadata needed to cause each storage node”) (see NOTE),
if that the particular data is determined to be corrupt ([0039] “restored in the event of an "entire site disaster”), the resiliency information on one or more resiliency nodes of the plurality of resiliency nodes is used to recover the particular data ([0040] “allow each given production server to be restored”, “production server that needs to recover its data can simply contact remote storage node” [0041], [0068]), and
each of the plurality of distributed processors is operable to determine,data redundancy requirements”; “determines an appropriate backup policy for each of the production servers based on … write and read rates, available storage … or metadata needed to cause each storage node to implement a protection intent”, [0068] “Each protection intent may be specifically tailored”)(see NOTE I) or hash-based logic, the one or more resiliency nodes of the plurality of resiliency nodes that store the resiliency information used to recover the particular data ([0043] “determination module, wherein DPM server identifies, for example, what storage nodes should be servicing what production servers”, [0045] “select storage nodes to be used in the backup process”, [0049]-[0054]), wherein queries maps the particular data to the one or more resiliency nodes ([0049], [0054]).
Sen does not explicitly teach, however Bobbitt and Bone disclose a virtual file system (Bobbitt [0008], [0038], Bone [0028]) comprising: a plurality of distributed processors (Bobbitt [0006], Bone [0016]).
NOTE - Bobbitt also explicitly discloses “migration policies and schedules” [0044] and [0098] and the limitation of -the particular data is initially stored to a first tier of storage and thereafter migrated to one or more other tiers of storage according to a data migration policy, the data migration policy determines whether to migrate the particular data based on metadata for the particular data and determines a destination storage device for the particular data ([0042], [0046], [0047]-[0048], [0090], [0097]-[0098]).
NOTE I Bone is also discloses determine, according to data-specific metadata … the one or more resiliency nodes of the plurality of resiliency nodes ([0087] “gather a predefined set of filesystem metadata. The filesystem metadata can include any filesystem metadata associated with the data”, [0098])
It would have been obvious to one of ordinary skill in the art at the time of invention to modify the teachings of Sen to include a virtual file system and migration policies and schedules as disclosed by Bobbitt and Bone. Doing so enables file systems to be virtualized (Bobbitt [0008]) and storage asset virtualization, which appear to be a single resource from a single server from a client's perspective (Bone [0012]).
Sen does not explicitly teach, however Misra discloses using hash-based logic applied to the particular data to generate a hash value corresponding to the particular data ([0077], [0144], [0152]),
according to data-specific metadata or hash-based logic, the one or more resiliency nodes of the plurality of resiliency nodes that store the resiliency information used to recover the particular data ([0083]), wherein the hash value maps the particular data to the one or more resiliency nodes ([0077], [0080], [0085], [0129], [0140]).
It would have been obvious to one of ordinary skill in the art at the time of invention to modify the teachings of Sen to include hash-based logic as disclosed by Misra. Doing so gives maximum protection with guaranteed recoveries (Misra [0051]) and improved, responsive, available and tolerant to hardware failures while maintaining the desired level of protection (Misra [0064]).
Regarding claim 32, Sen as modified teaches the system of claim 31, wherein:
the plurality of resiliency nodes connected to a plurality of electronically addressed nonvolatile storage devices (Sen [0024], [0049], [0054], Bone [0065], [0104]-[0105] where tape devices are nonvolatile),
the virtual file system comprises one or more instances of a virtual file system front end (Bobbitt Fig.3:11, where client 43 is a front end, [0041], Bone [0111], [0122], see F1, 12 where client devices are front end and virtual file system is back end, which are divided by a middleware), one or more instances of a virtual file system back end (Bobbitt [0043]-[0045]),
a first instance of a virtual file system memory controller (Bobbitt [0040], [0082], [0109], [0110]) configured to control accesses to a first of the plurality of electronically addressed nonvolatile storage devices (Sen [0024], [0049], [0054], Bone [0065], [0104]-[0105] where tape devices are nonvolatile), and a second instance of a virtual file system memory controller (Bobbitt [0042]-[0043], [0110]) configured to control accesses to a second of the plurality of electronically addressed nonvolatile storage devices (Bone [0104]-[0105], [0114], [0126]),
wherein the virtual file system front end (Misra [0048]-[0049], [0124]) is configured to provide the particular data to the hash-based logic and receive an identification of the one or more resiliency nodes based on the hash value (Misra 0077], [0080], [0085], [0129], [0140]).
Sen as modified does not explicitly teach, however Bone discloses the plurality of resiliency nodes comprises a plurality of electronically addressed nonvolatile storage devices (F1:106a, [0003], [0065], [0104]-[0105] where tape devices are nonvolatile).
It would have been obvious to one of ordinary skill in the art at the time of invention to modify the teachings of Sen as modified to include nonvolatile storage devices as disclosed by Bone. Doing so would provide low-level interface in which individual storage subunits may be individually addressed (Bone [0003]).
Regarding claim 33, Sen as modified teaches the system of claim 32, wherein:
the plurality of distributed processors comprises a plurality of computing devices (Sen [0018], Bobbitt [0038]), each instance of the virtual file system front end is configured to:
receive a file system call from a file system driver residing on the plurality of computing devices (Bobbitt [0082], [0084], Bone [0111], [0112]);
determine which of the one or more instances of the virtual file system back end is responsible for servicing the file system call (Sen [0043], [0049]-[0054], Bobbitt [0082], [0045], Bone [0076], [0086], [0112] see “in response to the original request including determining which server should receive a request and passing the request”, [0123]); and
send one or more file system calls to the determined one or more instances of the plurality of virtual file system back end (Sen [0043], [0045], [0049]-[0054], Bobbitt [0082], [0045]).
Regarding claim 34, Sen as modified teaches the system of claim 32, wherein each instance of the virtual file system back end is configured to:
receive a file system call from the one or more instances of the virtual file system front end (Bobbitt [0082], [0084], Bone [0111], [0122]); and
allocate memory of the plurality of electronically addressed nonvolatile storage devices to achieve a distribution of the data across the plurality of electronically addressed nonvolatile storage devices (Sen [0043], [0057], Bobbitt [0038], [0090], Bone [0016]).
Regarding claim 35, Sen as modified teaches the system of claim 32, wherein each instance of the virtual file system back end is configured to: receive a file system call from the one or more instances of the virtual file system front end (Bobbitt [0082], [0084], Bone [0111], [0122]); and update file system metadata for data affected by the servicing of the file system call (Bobbitt [0082]-[0084], Bone [0074], [0087], [0095], [0097]-[0098]).
Regarding claim 36, Sen as modified teaches the system of claim 32, wherein: the number of instances in the one or more instances of the virtual file system front end is dynamically adjustable based on demand on resources of the plurality of computing devices (Sen [0044], Bobbitt [0084], [0088]-[0090]); and the number of instances in the one or more instances of the virtual file system back end is dynamically adjustable based on demand on resources of the plurality of computing devices (Sen [0049], Bobbitt [0088]-[0090], [0084]).
Regarding claim 37, Sen as modified teaches the system of claim 32, wherein: the number of instances in the one or more instances of the virtual file system front end is dynamically adjustable independent of the number of instances in the one or more instances of the virtual file system back end (Sen [0044], Bobbitt [0088]-[0090], [0084]); and the number of instances in the one or more instances of the virtual file system back end is dynamically adjustable independent of the number of instances in the one or more instances of the virtual file system front end (Bone ([0114], [0022] “each filesystem on each server-is a separate entity, it is therefore necessary to perform each data collection independently on each server”; [0131] “two "volumes" or independent filesystem directory trees srv1 and srv2”, [0136] “filesystem paths independent from either clients or servers”).
Regarding claim 38, Sen as modified teaches the system of claim 32, wherein: a first one or more of the plurality of electronically addressed nonvolatile storage devices are used for a first tier of storage (Sen [0024], 0075], Bone [0008] “architecture can be characterized as a "two-tier" client-server system”, [0104]-[0105], [0115]); and a second one or more of the plurality of electronically addressed nonvolatile storage devices (Bobbitt [0032]) are used for a second tier of storage (Sen [0041], [0075]-[0076]).
Regarding claim 39, Sen as modified teaches the system of claim 38, wherein:
the first one or more of the plurality of electronically addressed nonvolatile storage devices (Bobbitt [0032]) are characterized by a first value of a latency metric (Sen [0031], [0034], [0041]-[0042], [0051], [0058]); and the second one or more of the plurality of electronically addressed nonvolatile storage devices (Bobbitt [0032]) are characterized by a second value of the latency metric (Sen [0033], [0040], [0054]).
Regarding claim 40, Sen as modified teaches the system of claim 38, wherein: the first one or more of the plurality of electronically addressed nonvolatile storage devices (Bobbitt [0032]) are characterized by a first value of an endurance metric (Sen [0030], [0034], [0046]); and
the second one or more of the plurality of electronically addressed nonvolatile storage devices (Bobbitt [0032]) are characterized by a second value of the endurance metric (Sen [0034]-[0035], [0041], [0047], [0055]).
Regarding claim 41, Sen as modified teaches the system of claim 40, wherein data written to the virtual file system is first stored to the first tier of storage and then migrated to the second tier of storage according to policies of the virtual file system (Sen [0034]-[0035], [0038]-[0039], [0057], Bobbitt [0042], [0046], [0047]-[0048], [0090], [0097]-[0098]).
Regarding claim 42, Sen as modified teaches the system of claim 31, comprising one or more mechanically addressed nonvolatile storage device, wherein the data stored to the virtual file system is distributed across the plurality of electronically addressed nonvolatile storage devices and one or more mechanically addressed nonvolatile storage devices (Sen [0024], [0058], Bobbitt [0032], [0109]-[0110]).
Regarding claim 43, Sen as modified teaches the system of claim 31, comprising:
a first one or more other nonvolatile storage devices residing on the local area network (Sen [0021], [0024], Bobbitt [0031], Fig.10, note that elements 24 are hard disks, which are nonvolatile [0032], [0110]); and
a second one or more other nonvolatile storage devices residing on one or more other computing devices coupled to the local area network via the Internet (Sen [0021], Bobbitt [0031], Fig.2, Bone [0065], [0104]), wherein:
the plurality of electronically addressed nonvolatile storage devices are used for a first tier of storage and a second tier of storage (Sen [0024], 0075], Bone [0008] “architecture can be characterized as a "two-tier" client-server system”, [0104]-[0105], [0115]);
the first one or more other nonvolatile storage devices residing on the local area network are used for a third tier of storage (Sen [0041], [0075]-[0076], Bobbitt [0032]); and
the second one or more other nonvolatile storage devices residing on one or more other computing devices coupled to the local area network via the Internet are used for a fourth tier of storage (Sen [0041], [0075]-[0076], Bobbitt [0032]).
Note that Sen and Bobbitt teach a local area network LAN or WAN (wide area network) implementing the system, wherein it is well-known that the Internet is a good example of a WAN (i.e. The Internet may be considered a WAN). Therefore, the storage device connected to each other over the network via LAN, WAN (se Bobbitt Fig.2) using CIFS, is construed to be analogous to devices coupled to said local area network via the Internet.
Regarding claim 44, Sen as modified teaches the system of claim 31, comprising one or more other nonvolatile storage devices residing on one or more other computing devices coupled to the local area network via the Internet (Sen [0021], Bobbitt [0031], Fig.2, Bone [0065], [0104]).
Note that Sen and Bobbitt teach a local area network LAN or WAN (wide area network) implementing the system, wherein it is well-known that the Internet is a good example of a WAN (i.e. The Internet may be considered a WAN). Therefore, the storage device connected to each other over the network via LAN, WAN (se Bobbitt Fig.2) using CIFS, is construed to be analogous to devices coupled to said local area network via the Internet.
Regarding claim 45, Sen as modified teaches the system of claim 44, wherein:
the plurality of electronically addressed nonvolatile storage devices are used for a first tier of storage; and the one or more other storage devices are used for a second tier of storage (Sen [0041], [0075]-[0076], Bobbitt [0032], Bone [0065], [0104]).
Regarding claim 46, Sen as modified teaches the system of claim 45, wherein data written to the virtual file system is first stored to the first tier of storage and then migrated to the second tier of storage according to policies of the virtual file system (Sen [0034], [0038]-[0039], [0057], Bobbitt [0042], [0046], [0047]-[0048], [0090], [0097]-[0098]).
Regarding claim 47, Sen as modified teaches the system of claim 45, wherein the second tier of storage is an object- based storage (Bone [0004]-[0005]).
Regarding claim 48, Sen as modified teaches the system of claim 45, wherein the one or more other nonvolatile storage devices comprises one or more mechanically addressed nonvolatile storage devices (Sen [0024], [0058], Bobbitt [0032], [0109]-[0110]);
wherein optionally file system calls from the client application are handled by a virtual file system front end instance residing on a second one of the plurality of computing devices (Bobbitt [0027], [0034], [0038]).
Regarding claim 49, Sen as modified teaches the system of claim 31, wherein: a client application resides on a first one of the plurality of computing devices (Sen [0022], Bobbitt Fig.3:11, where client 43 is a front end, [0041]); and one or more components of the virtual file system reside on the first one of the plurality of computing devices (Bobbitt [0027], [0034], [0038]).
Regarding claim 50, Sen as modified teaches the system of claim 49, wherein the client application and the one or more components of the virtual file system share resources of a processor of the first one of the plurality of computing devices (Sen [0042], Bobbitt [0027], [0034], [0038]).
NOTE in analogous art Bergsten et al. (US 2015/0248366) likewise teaches claim 50 in [0072], [0064], [0111] and further obviates the teachings of Bobbitt.
Regarding claim 51, Sen as modified teaches the system of claim 49, wherein: the client application is implemented by a main processor chipset of the first one of the plurality of computing devices (Bobbitt [0032], [0108]); and the one or more components of the virtual file system are implemented by a processor of a network adaptor of the first one of the plurality of computing devices (Bobbitt [0033], [0108]).
Claim(s) 32, 36, 37 is/are additionally rejected under 35 U.S.C. 103 as being unpatentable over Sen as modified and in further view of Bergsten et al. (US 20150248366) (see IDS filed 12/14/2023) or Roth (US 20170242725).
Regarding claim 32, Sen as modified teaches the system of claim 31, wherein: the plurality of resiliency nodes connected to a plurality of electronically addressed nonvolatile storage devices (Sen [0024], [0049], [0054], Bone [0065], [0104]-[0105] where tape devices are nonvolatile),
the virtual file system comprises one or more instances of a virtual file system front end (Bobbitt Fig.3:11, where client 43 is a front end, [0041], Bone [0111], [0122], see F1, 12 where client devices are front end and virtual file system is back end, which are divided by a middleware), one or more instances of a virtual file system back end (Bobbitt [0043]-[0045]),
a first instance of a virtual file system memory controller (Bobbitt [0040], [0082], [0109], [0110]) configured to control accesses to a first of the plurality of electronically addressed nonvolatile storage devices (Sen [0024], [0049], [0054], Bone [0065], [0104]-[0105] where tape devices are nonvolatile), and a second instance of a virtual file system memory controller (Bobbitt [0042]-[0043], [0110]) configured to control accesses to a second of the plurality of electronically addressed nonvolatile storage devices (Bone [0104]-[0105], [0114], [0126]),
wherein the virtual file system front end (Misra [0048]-[0049], [0124]) is configured to provide the particular data to the hash-based logic and receive an identification of the one or more resiliency nodes based on the hash value (Misra 0077], [0080], [0085], [0129], [0140]).
Sen as modified does not explicitly teach, however Bergsten discloses the plurality of resiliency nodes comprises a plurality of electronically addressed nonvolatile storage devices ([0017], [0061], [0097]).
It would have been obvious to one of ordinary skill in the art at the time of invention to modify the teachings of Sen as modified to include nonvolatile storage devices as disclosed by Bergsten. Doing so would provide an efficient or optimal solution that addresses all the requirements without any trade-offs (Bergsten [0055]).
Regarding claim 36, if Sen as does not explicitly teach, Bergsten and Roth discloses the system of claim 32, wherein: the number of instances in the one or more instances of the virtual file system front end is dynamically adjustable based on demand on resources of the plurality of computing devices; and the number of instances in the one or more instances of the virtual file system back end is dynamically adjustable based on demand on resources of the plurality of computing devices (Bergsten [0081], [0084], [0064], [0106], Roth [0028], [0030], [0032], [0040]).
It would have been obvious to one of ordinary skill in the art at the time of invention to modify the teachings of Sen as modified to include independent adjustment of instances as disclosed by Bergsten. Doing so would greatly benefits the compute server applications by making performance of the storage devices available to the network (Bergsten [0075]) and reduce the amount of upfront investment needed for the infrastructure and often resulting in an overall lower cost (Roth [0003]).
Regarding claim 37, if Sen as does not explicitly teach, Bergsten and Roth discloses the system of claim 32, wherein: the number of instances in the one or more instances of the virtual file system front end is dynamically adjustable independent of the number of instances in the one or more instances of the virtual file system back end (Bergsten [0081], [0084], [0064], [0106]); and the number of instances in the one or more instances of the virtual file system back end is dynamically adjustable independent of the number of instances in the one or more instances of the virtual file system front end (Bergsten [0081], [0084], [0064], [0106], Roth [0028], [0030], [0032], [0040]).
It would have been obvious to one of ordinary skill in the art at the time of invention to modify the teachings of Sen as modified to include independent adjustment of instances as disclosed by Bergsten. Doing so would greatly benefits the compute server applications by making performance of the storage devices available to the network (Bergsten [0075]) and reduce the amount of upfront investment needed for the infrastructure and often resulting in an overall lower cost (Roth [0003]).
Claim(s) 39-41, 43, 47 is/are additionally rejected under 35 U.S.C. 103 as being unpatentable over Sen as modified and in further view of Goss et al. (US 2014/0281280).
Regarding claim 39, if Sen as does not explicitly teach, Goss discloses teaches the system of claim 38, wherein:
the first one or more of the plurality of electronically addressed nonvolatile storage devices are characterized by a first value of a latency metric; and the second one or more of the plurality of electronically addressed nonvolatile storage devices are characterized by a second value of the latency metric ([0017], [0029]).
It would have been obvious to one of ordinary skill in the art at the time of invention to modify the teachings of Sen to include metrics as disclosed by Goss. Doing so would increase efficiency of both the memory component and the overall data storage device (Goss [0013]).
NOTE in analogous art Chou et al. (US 2015/0254088) likewise discloses first and second value of the latency metrics in [0073], [0146], [0149], [0154], [0156], [0161] and further obviates the teachings of Sen.
Regarding claim 40, Sen as modified teaches if Sen as does not explicitly teach, Goss discloses the system of claim 38, wherein: the first one or more of the plurality of electronically addressed nonvolatile storage devices are characterized by a first value of an endurance metric; and the second one or more of the plurality of electronically addressed nonvolatile storage devices are characterized by a second value of the endurance metric ([0017], [0029]).
It would have been obvious to one of ordinary skill in the art at the time of invention to modify the teachings of Sen to include metrics as disclosed by Goss. Doing so would increase efficiency of both the memory component and the overall data storage device (Goss [0013]).
NOTE in analogous art Chou et al. (US 2015/0254088) likewise discloses first and second value of the endurance metrics in [0073], [0146], [0149], [0154], [0156], [0161] and further obviates the teachings of Sen.
Regarding claim 41, Sen as modified teaches the system of claim 40, wherein data written to the virtual file system is first stored to the first tier of storage and then migrated to the second tier of storage according to policies of the virtual file system (Sen [0034], [0038]-[0039], [0057], Bobbitt [0042], [0046], [0047]-[0048], [0090], [0097]-[0098]).
Regarding claim 43, Sen as modified teaches the system of claim 31, comprising:
a first one or more other nonvolatile storage devices residing on the local area network (Sen [0021], [0024], Bobbitt [0031], Fig.10, note that elements 24 are hard disks, which are nonvolatile [0032], [0110]); and
a second one or more other nonvolatile storage devices residing on one or more other computing devices coupled to the local area network via the Internet (Sen [0021], Bobbitt [0031], Fig.2, Bone [0065], [0104]), wherein:
the plurality of electronically addressed nonvolatile storage devices are used for a first tier of storage and a second tier of storage (Sen [0024], 0075], Bone [0008] “architecture can be characterized as a "two-tier" client-server system”, [0104]-[0105], [0115]);
the first one or more other nonvolatile storage devices residing on the local area network are used for a third tier of storage (Sen [0041], [0075]-[0076], Bobbitt [0032]); and
the second one or more other nonvolatile storage devices residing on one or more other computing devices coupled to the local area network via the Internet are used for a fourth tier of storage (Sen [0041], [0075]-[0076], Bobbitt [0032]).
However, if Sen as modified does not explicitly teach, however Goss discloses second tier of storage and a fourth tier of storage ([0045]-[0046]).
It would have been obvious to one of ordinary skill in the art at the time of invention to modify the teachings of Sen to include multi-tier storage as disclosed by Goss. Doing so would provide wear leveling to the tier and ensures that the repeated writes from the frequently incremented state information do not induce resistance drift or other endurance related effects to an extent sufficient to reduce the ability to reliability recover the data (Goss [0053]).
Regarding claim 47, if Sen as does not explicitly teach, Goss discloses teaches the system of claim 45, wherein the second tier of storage is an object- based storage ([0013], [0027], [0029).
Response to Arguments
Applicant's arguments, filed 09/28/2026, in regard to the presently amended claims, have been fully considered and are addressed in the updated rejections to the claims above.
The applicant is however noted that the present amended limitations essentially cover the dependent claim 41. It is further noted that any data migration or movement requires at least two tiers of storage a source and a destination. It is also well known that such data movement is based on some pre-determined configurations. Therefore, the present amendments do not further advance the prosecution
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to POLINA G PEACH whose telephone number is (571)270-7646. The examiner can normally be reached Monday-Friday, 9:30 - 5:30.
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, Aleksandr Kerzhner can be reached at 571-270-1760. 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.
/POLINA G PEACH/ Primary Examiner, Art Unit 2165 October 7, 2026