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 Claims
Claims 21-35 are pending. Claims 1-20 have been canceled as per Applicants' request. Claims 21-35 have been added as per Applicants' request.
Papers Submitted
It is hereby acknowledged that the following papers have been received and placed of record in the file:
Amended Claims as filed on December 26, 2024
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
Claims 22, 27, and 32 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention.
Claims 22, 27, and 32 recites the limitation “wherein the first cache layer is replicated with at least one other node supporting the frozen tier”.
With regards to replication the specification states at paragraph [0030] “The files may be available in the local index 140 and may be automatically replicated within a cluster”, at paragraph [0046] “Having such files available in the local index 140, which is automatically replicated within the cluster, makes the files likely to be available when a node of the frozen tier opens an index, drastically speeding up the “startup” time of opening the local index 140”, and at paragraph [0103] “The files may be available in the local index and be automatically replicated within a cluster”.
The specification states at paragraph [0081] “only a single-node cluster is benchmarked, but each tier also supports multi-node clusters”, at paragraph [0092] “Both vertical as well as horizontal scaling is well supported by the frozen tier, as the computations can typically be easily parallelized. Just using more performing machine types (in particular with higher network bandwidth / more CPU) or adding more nodes to the cluster is a simple way to increase query performance”.
There is nothing in the specification that discloses replicating the first cache layer with respect to the frozen layer, much less replication using a specific node linked to the frozen tier. Furthermore the specification is also mute in regards to what it means in “supporting” and it is also unclear as to what “supporting” means (see 112(b) below).
Therefore the specification as originally filed does not provide support for “wherein the first cache layer is replicated with at least one other node supporting the frozen tier”.
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 22, 27, and 32 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claims 22, 27, and 32 recites the limitation “wherein the first cache layer is replicated with at least one other node supporting the frozen tier”. It is unclear what it means to replicate the first cache layer with a node. Is it just copying, mirroring, performing a snap-shot, performing log-based replication, etc. to the node or something else?
Furthermore it is also unclear what it means by “supporting” the frozen tier, is it just stating that the other node is a node storing data, metadata, and/or other information required for operation of the frozen tier, that the other node just needs to aid the frozen tier in some way and is not crucial to its operations, or is providing some benefits to the frozen tier by for example caching data of the frozen tier. The specification at paragraph [0081] and [0092] states “each tier supports multi-node clusters” and that “vertical as well as horizontal scaling is well supported by the frozen tier”. This appears to be stating the supporting in a reversed way as it’s the tier supporting the inclusion of different nodes or scaling. The specification does not provide any direct interpretations of what this line in the claim can mean.
For examination purposes examiner will treat the limitation as “wherein the first cache layer is replicated and at least one other node is included in the frozen tier”.
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 21, 23, 24, 26, 28, 29, 31 33, and 34 is/are rejected under 35 U.S.C. 103 as being unpatentable over Tian (US 2021/0081129) (hereinafter Tian) (published March 18, 2021) with respect to Flynn et al. (US 2011/0066808) (hereinafter Flynn) (published March 17, 2011).
Regarding Claims 21, 26, and 31, taking claim 21 as exemplary, Tian discloses a node supporting a “frozen” tier of a multi-tier data-storage system, the frozen tier storing least frequently used data in the data-storage system, the node comprising:
“the storage devices of the tiered storage system 400 can be divided into four tiers or levels for storing hot log files 410, warm log files 412, cold log files 414, and archived files 416, respectively” (Tian [0113] the tier for archived files is the frozen tier)
at least one processor; and
“In some embodiments, the tiered storage system 400 can include one or more subsystems or components such as (1) a tier pool manager 418, (2) a migration task manager 420, (3) a migration scheduler 422 for managing data tiering, or (4) a quality of service (QoS) manager 423. In some embodiments, each of the managers can include any suitable computing elements (e.g., one or more of a processor, a memory, etc.) to perform functions as described herein” (Tian [0117])
a memory communicatively coupled to the processor, the memory storing instructions executable by the at least one processor to perform a method comprising:
“In some embodiments, the one or more computer-readable memories are coupled to the one or more processors and have programming instructions stored thereon that are executable by the one or more processors to perform algorithms, methods, functions, processes, flows, and procedures as described in this specification” (Tian [0268])
creating a local cache with at least three layers,
“In some embodiments, the front-end I/O subsystem 310 can provide a multi-level cache mechanism with a memory cache 313 and a block cache 317 (e.g., using flash storage medium (e.g., SSD cloud disc))” (Tian [0089])
“In some embodiments, two or more types of caches can be implemented to improve reading performance” (Tian [0125] more than two would mean at least three)
wherein the first cache layer stores a system index,
“at 616, the front-end I/O subsystem 310 saves an index of hot data in a memory cache (e.g., memory cache 313)” (Tian [0188])
wherein the third cache layer stores data retrieved from the frozen tier;
“At 804, a data object in a data log file (e.g., data log files 362, 364, 366, 372, 374, 376, 390) stored in a lower-tier storage device (e.g., storage devices 350, 360, and 370) is determined to be an active data object, for example, by a front-end I/O subsystem (e.g., front-end I/O subsystem 310) or a back-end data management system (e.g., back-end data management subsystem 330 of the storage system 300)” (Tian [0202])
“At 806, the data object is written into a cache (e.g., memory cache 313 and block cache 317). For example, the front-end I/O subsystem 310 can write the data object into a memory cache 313 or a disk block cache 317 of a high-speed storage medium” (Tian [0203])
receiving from a remote device a search query requesting data stored in the frozen tier;
“At 702, a front-end I/O system (e.g., front-end I/O subsystem 310) of a storage system (e.g., log-structured storage system 300) receives a read request to read data from the storage system” (Tian [0193])
if the requested data do not exist in the third cache layer, then:
“At 716, the front-end I/O system 310 searches for an index corresponding to the data in an index log file (e.g., index log file 380) in a disk storage device if it is determined that the index corresponding to the data is not found in the base index map 316. For example, the front-end I/O system 310 can search for an index corresponding to the data in an index log file 380 stored in a multi-tier storage subsystem (e.g., multi-tier storage subsystem 320) of the storage system 300” (Tian [0198])
retrieving at least a portion of the requested data from a file in the frozen tier;
“At 804, a data object in a data log file (e.g., data log files 362, 364, 366, 372, 374, 376, 390) stored in a lower-tier storage device (e.g., storage devices 350, 360, and 370) is determined to be an active data object, for example, by a front-end I/O subsystem (e.g., front-end I/O subsystem 310) or a back-end data management system (e.g., back-end data management subsystem 330 of the storage system 300)” (Tian [0202] data is retrieved from the storage to be written to cache is step 806)
adding a least a portion of the retrieved data to the third cache layer; and
“At 806, the data object is written into a cache (e.g., memory cache 313 and block cache 317). For example, the front-end I/O subsystem 310 can write the data object into a memory cache 313 or a disk block cache 317 of a high-speed storage medium” (Tian [0203])
responding to the search query with at least a portion of the requested data.
“At 816, the front-end I/O subsystem 310 returns the data object from the cache, which can provide faster access to the requested data object compared to cases where the requested data object needs to be fetched from a next cache level, a main memory, or a lower-tier of storage device in the multi-tier storage subsystem 320” (Tian [0208])
But does not explicitly state wherein the second cache layer stores metadata associated with files retrieved by the node from the frozen tier, updating the second cache layer if metadata associated with the file containing the retrieved data are not already stored in the second cache layer.
Flynn discloses wherein the second cache layer stores metadata associated with files retrieved by the node from the frozen tier,
“The solid-state storage device may cache data in storage units of the solid-state storage device. The cache metadata may comprise metadata pertaining to the cache stored on the solid-state storage device, cache operations performed on the solid-state storage device (e.g., access patterns, etc.), cache management (e.g., cache eviction and/or retention policy, cache attributes, cache directives, etc.), and so on” (Flynn [0007])
updating the second cache layer if metadata associated with the file containing the retrieved data are not already stored in the second cache layer.
“The data A is retrieved from the hard disk drive and returned to the file system 210. The cache controller 312 of the solid-state storage device 114 also executes an inject SSD event (inject 1) to store the data A in a selected storage unit 502 along with the logical address of LBA 1. The solid-state storage device 114 may update the metadata 117 to associate the LBA 1 with the storage unit 502 in the index 410” (Flynn [0119])
It would have been obvious before the effective filing date of the invention to one of ordinary skill in the art to combine the caching of metadata in Flynn with the system in Tian. The motivation for doing so would be to improve search and discovery by filtering attributes in memory rather than scanning headers of every file.
Regarding Claims 23, 28, and 33, Tian further discloses wherein the first cache layer stores store beginnings and ends of files retrieved, at least in part, from the frozen tier.
“At 806, the data object is written into a cache (e.g., memory cache 313 and block cache 317)” (Tian [0203] the data object is the whole file which includes both the beginning ends of the file)
Regarding Claims 24, 29, and 34, Tian further discloses wherein the first cache layer stores files available when the node opens the system index, thereby speeding up startup time of opening the system index.
“In some embodiment, at 616, the front-end I/O subsystem 310 saves an index of hot data in a memory cache (e.g., memory cache 313). For example, if certain data is determined as hot data that has a probability of frequent accesses, the index of the data can be saved into the memory cache to improve the read speed” (Tian [0188])
“At 806, the data object is written into a cache (e.g., memory cache 313 and block cache 317). For example, the front-end I/O subsystem 310 can write the data object into a memory cache 313 or a disk block cache 317 of a high-speed storage medium” (Tian [0203] the data objects in the cache are the available files referenced by the index)
Claims 22, 27, and 32 is/are rejected under 35 U.S.C. 103 as being unpatentable over Tian (published March 18, 2021) and Flynn (published March 17, 2011) as applied to claims 21, 26, and 31 above, and further in view of Sun et al. (US 2017/0031988) (hereinafter Sun) (published February 02, 2017).
Regarding Claims 22, 27, and 32, (see 112(b) interpretation above) the combination of Tian and Flynn disclosed the node of claim 21, method of claim 26, and medium of claim 31, Tian further discloses at least one other node supporting the frozen tier.
“In some embodiments, the storage system 300 can further include a distributed storage system 340 which includes storage medium such as non-volatile memory express (NVME), SSD, hard disk drive (HDD), and shingled magnetic recording (SMR). In some embodiments, the distributed storage system 340 can be generated, or expanded, by a client node of the blockchain-based ledger system for better availability, partition tolerance, flexibility, and cost. For example, the distributed storage system 340 can allow scaling by adding more servers or storage nodes and thus increasing capacity and performance linearly. It can use standard servers, drives, and network, which are less expensive” (Tian [0100] multiple nodes would be “supporting” the frozen tier)
But does not explicitly state wherein the first cache layer is replicated. Sun discloses wherein the first cache layer is replicated.
“Hadoop data stores (such as Hive and Hbase) are built on top of Hadoop distributed file system (HDFS) where HDFS provides scalable and reliable data storage. HDFS is designed to span large clusters of commodity servers and automatically replicate data for availability” (Sun [0003])
It would have been obvious before the effective filing date of the invention to one of ordinary skill in the art to combine HDFS in Sun with the system in the combination of Tian and Flynn. The motivation for doing so would be improve reliability through the replication of data available.
Claims 25, 30, and 35 is/are rejected under 35 U.S.C. 103 as being unpatentable over Tian (published March 18, 2021) and Flynn (published March 17, 2011) as applied to claims 21, 26, and 31 above, and further in view of Kathpal et al. (US 2016/0070766) (hereinafter Kathpal) (published March 10, 2016).
Regarding Claims 25, 30, and 35, the combination of Tian and Flynn disclosed the node of claim 21, method of claim 26, and medium of claim 31, but does not explicitly state wherein the method further comprises: applying a readahead strategy to retrieve more data than the requested data from the frozen tier.
Kathpal discloses wherein the method further comprises: applying a readahead strategy to retrieve more data than the requested data from the frozen tier.
“In step 506, the archive node computing device 20 optionally prefetches one or more of the archived files according to the optimized schedule. The prefetched archived file(s) can be stored in a cache portion of the memory 42 of the archive node computing device 20, for example” (Kathpal [0050])
It would have been obvious before the effective filing date of the invention to one of ordinary skill in the art to combine the prefetching of Kathpal with the system in the combination of Tian and Flynn. The motivation for doing so would be improve access speed by having data cached and available in faster memory before it is needed to be accessed.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
HEDGE et al. (US 2014/0304234) discloses updating metadata corresponding to stored data, retrieving data from the archive files and having an index file.
BHANDARU et al. (US 2020/0349124) discloses retrieving a file from data center and the use of metadata to identify the file stored in cold storage node and/or a data node.
Agarwal et al. (US 2022/0092022) discloses a file system manager, metadata store, hot storage, cold storage and archival storage. The updating of the metadata and index is performed upon movement of the data.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SIDNEY LI whose telephone number is (571)270-5967. The examiner can normally be reached Monday to Friday 10:00 AM to 6:00 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, Arpan P Savla can be reached at (571) 272-1077. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/S.L./Examiner, Art Unit 2137
/Arpan P. Savla/Supervisory Patent Examiner, Art Unit 2137