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 .
The Examiner acknowledges the applicant's submission of the amendment dated 7/29/26, which has been entered.
1. REJECTIONS BASED ON PRIOR ART
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
Claim Rejections - 35 USC ' 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale or otherwise available to the public before the effective filing date of the claimed invention.
Claim(s) 2-4, 7-13, and 16-21 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Christensen (US 20210271407).
With respect to claim 2, the Christensen reference teaches a method, comprising:
receiving a set of data processing instructions indicating a portion of a data set to be processed and indicating a distribution of subsets of the portion of the data set across a plurality of tiers of memory; (see fig. 4; and paragraph 60, where at 440, the flow diagram 439, includes a host controller and/or a controller of a memory system configured to receive image data. The image data (e.g., one or more photographs) can be generated from one or more image sensors (e.g., the cameras 330 of FIG. 3) coupled to the host. The image data can include one or more one or more attributes; and paragraph 12, where the term “setting” refers to a deterministic guideline to direct data to a particular memory media type. The term setting, in some instances, can be a memory media type to which it is determined to write data (e.g., image data). In some examples, a setting may be referred to as a determined
memory media type. For instance, a particular memory media type can be selected from multiple tiers of memory media types based on characteristics of the memory media type and the rules applied to the data based on attributes)
storing, in accordance with the set of data processing instructions, the subsets of the portion of the data set in corresponding tiers of memory of the plurality of tiers of memory; (paragraph 12, where data can be stored to a memory media by writing the data to a memory media of a memory device; and a particular memory media type can be selected from multiple tiers of memory media types based on characteristics of the memory media type and the rules applied to the data based on attributes) and
processing the subsets of the portion of the data set based on storing the subsets of the portion of the data set in the corresponding tiers of memory. (paragraph 12, where data can be stored to a memory media by writing the data to a memory media of a memory device; and a particular memory media type can be selected from multiple tiers of memory media types based on characteristics of the memory media type and the rules applied to the data based on attributes)
With respect to claim 3, the Christensen reference teaches the method of claim 2, wherein processing the subsets of the portion of the data set comprises:
preprocessing the subsets of the portion of the data set based on storing the subsets of the portion of the data set in the corresponding tiers of memory to obtain preprocessed data; (paragraph 63, where at 448, the controller and/or the host controller can determine a setting based on attributes (e.g., facial expression) of image data and the determined threshold. In this example, the setting can be to write images having attributes above a threshold (e.g., an amount of smiling) to a first type of memory media (e.g., DRAM) and to write images having attributes below the threshold to a different memory media type (e.g., SCM or NAND). The setting based on the attributes (facial expression) can be written to a particular memory media type of the plurality of memory media types to be applied to other images received by the memory system) and
caching the preprocessed data in corresponding tiers of memory based on rules for caching the preprocessed data across the plurality of tiers of memory, the rules for caching the preprocessed data being included in the set of data processing instructions. (paragraph 12, where a particular memory media type can be selected from multiple tiers of memory media types based on characteristics of the memory media type and the ruled applied to the data based on attributes; and a rule can establish a memory media type to write data to by anticipating more frequent access to the data or having a pre-determined or machine learned preference for fast access (e.g., a most responsive memory media type available among a plurality of memory media types) [i.e. “caching”])
With respect to claim 4, the Christensen reference teaches the method of claim 3, wherein: the subsets of the portion of the data set being preprocessed are stored in a first tier of memory of the plurality of tiers of memory, and the method further comprises determining that the preprocessed data is scheduled for processing within a threshold duration, wherein, based on the rules for caching the preprocessed data, the preprocessed data is stored in a second tier of memory of the plurality of tiers of memory. (paragraph 22, where data previously written to a particular memory media type can be transferred to a different memory media type, based on time, incoming data, a change in an existing setting, and/or the generation of a new setting, among others)
With respect to claim 7, the Christensen reference teaches the method of claim 2, further comprising: determining, after processing the subsets of the portion of the data set, whether the subsets of the portion of the data set are scheduled to be reprocessed. (paragraph 19, where the input can be a calibration process where a user (of a host) establishes a threshold related to the attribute, and image data that is above or below the threshold can be written to a particular memory media type and/or deleted. In some embodiments, rather than being automatically deleted, image data can be written to a particular memory media type to be later reviewed for deletion)
With respect to claim 8, the Christensen reference teaches the method of claim 7, further comprising: deleting the subsets of the portion of the data set based on determining that the subsets of the portion of the data set are not scheduled to be reprocessed. (paragraph 19, where the input can be a calibration process where a user (of a host) establishes a threshold related to the attribute, and image data that is above or below the threshold can be written to a particular memory media type and/or deleted. In some embodiments, rather than being automatically deleted, image data can be written to a particular memory media type to be later reviewed for deletion)
With respect to claim 9, the Christensen reference teaches the method of claim 7, further comprising: caching, based on determining that the subsets of the portion of the data set are scheduled to be reprocessed, the subsets of the portion of the data in corresponding tiers of memory based on rules for caching the subsets of the portion of the data across the plurality of tiers of memory, wherein the rules for caching the subsets of the portion of the data being included in the set of data processing instructions. (paragraph 19, where the input can be a calibration process where a user (of a host) establishes a threshold related to the attribute, and image data that is above or below the threshold can be written to a particular memory media type and/or deleted. In some embodiments, rather than being automatically deleted, image data can be written to a particular memory media type to be later reviewed for deletion)
With respect to claim 10, the Christensen reference teaches the method of claim 2, wherein storing the subsets of the portion of the data set in the corresponding tiers of memory of the plurality of tiers of memory is in accordance with a priority order indicated by the set of data processing instructions. (paragraph 17, where data may be written to a memory system based on an order in which the data arrives from an origin or by another predetermined schema and is automatically written to a particular memory media type)
Claims 11-13 and 16-19 are the apparatus implementation of claims 2-4 and 7-10; and rejected under a similar rationale as shown in the rejections above. The Examiner notes the Christensen reference teaches “a processor; and memory storing instructions executable by the processor to cause the apparatus” to perform the steps noted above as shown in fig. 2 and paragraph 30.
Claims 20-21 are the non-transitory computer-readable medium implementation of claims 2-4 and 7-10; and rejected under a similar rationale as shown in the rejections above.
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) 5 and 14 is/are rejected under 35 U.S.C. 103 as being unpatentable over Christensen (US 20210271407) in view of Doshi (US 20190042124).
With respect to claim 5, the Christensen reference does not explicitly teach the method of claim 3, further comprising: establishing, based on the set of data processing instructions, a first buffer of a first size in a first tier of memory of the plurality of tiers of memory, a second buffer of a second size in a second tier of memory of the plurality of tiers of memory, and a third buffer of a third size in a third tier of memory of the plurality of tiers of memory.
The Doshi reference teaches it is conventional to have establishing, based on the set of data processing instructions, a first buffer of a first size in a first tier of memory of the plurality of tiers of memory, a second buffer of a second size in a second tier of memory of the plurality of tiers of memory, and a third buffer of a third size in a third tier of memory of the plurality of tiers of memory. (paragraph 8, where the memory that is allocated based on a call for a malloc (e.g., a malloc function call) may be from a single tier of memory or from multiple tiers of memory; and paragraph 45, where at block 308, the example malloc information processor 208 determines the memory buffer address and/or size allocated for the malloc function call)
It would have been obvious to a person of ordinary skill in the art before the claimed invention was effectively filed to modify the Christensen reference to have establishing, based on the set of data processing instructions, a first buffer of a first size in a first tier of memory of the plurality of tiers of memory, a second buffer of a second size in a second tier of memory of the plurality of tiers of memory, and a third buffer of a third size in a third tier of memory of the plurality of tiers of memory, as taught by the Doshi reference.
The suggestion/motivation for doing so would have been to optimize dynamic memory assignments in multi-tiered memory systems. (Doshi, paragraph 27)
Therefore it would have been obvious to combine the Christensen and Doshi references for the benefits shown above to obtain the invention as specified in the claim.
Claim 14 is the apparatus implementation of claim 5; and rejected under a similar rationale as shown in the rejections above.
Claim(s) 6 and 15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Christensen (US 20210271407) in view of Cao (US 20220292303).
With respect to claim 6, the Christensen reference does not explicitly teaches the method of claim 3, further comprising: receiving, based on a TensorFlow application being initiated, a configuration as a worker node.
The Cao reference teaches it is conventional to have receiving, based on a TensorFlow application being initiated, a configuration as a worker node. (paragraph 24, where machine learning frameworks such as Tensorflow and PyTorch provide distributed mode for a given ML training job to improve the completion time by running computation workload in parallel. As will be described further with reference to FIG. 2 and FIG. 3, some of the nodes in the distributed configuration can be configured as parameter servers and/or worker nodes)
It would have been obvious to a person of ordinary skill in the art before the claimed invention was effectively filed to modify the Christensen reference to have wherein receiving, based on a TensorFlow application being initiated, a configuration as a worker node, as taught by the Cao reference.
The suggestion/motivation for doing so would have been to have an improved approach rooted in computer technology can automatically determine the best resource configuration for nodes. (Cao, paragraph 26)
Therefore it would have been obvious to combine the Christensen and Cao references for the benefits shown above to obtain the invention as specified in the claim.
Claim 15 is the apparatus implementation of claim 6; and rejected under a similar rationale as shown in the rejections above.
2. ARGUMENTS CONCERNING PRIOR ART REJECTIONS
Rejections - USC 102/103
Applicant's arguments (see pages 7-10 of the remarks) and amendments with respect to claims 2-21 have been considered, and are not persuasive. Specifically, the Applicant argues (see pages 7-9 of the remarks) the limitations of "storing, in accordance with the set of data processing instructions, the subsets of the portion of the data set in corresponding tiers of memory of the plurality of tiers of memory" and "processing the subsets of the portion of the data set based on storing the subsets of the portion of the data set in the corresponding tiers of memory". The Examiner respectfully disagrees. The Christensen reference teaches (see fig. 4; and paragraph 60) where at 440, the flow diagram 439, includes a host controller and/or a controller of a memory system configured to receive image data. The image data (e.g., one or more photographs) can be generated from one or more image sensors (e.g., the cameras 330 of FIG. 3) coupled to the host. The image data can include one or more one or more attributes; and further teaches (paragraph 12) where the term “setting” refers to a deterministic guideline to direct data to a particular memory media type. The term setting, in some instances, can be a memory media type to which it is determined to write data (e.g., image data). In some examples, a setting may be referred to as a determined memory media type. For instance, a particular memory media type can be selected from multiple tiers of memory media types based on characteristics of the memory media type and the rules applied to the data based on attributes. Thus, based on the citations above, the Christensen reference teaches image data can be split up and then written into multiple tiers of memory media types based on characteristics of the memory media type and the ruled applied to the data based on attributes. Therefore, the Christensen reference teaches ‘processing’ and ‘storing’ as it sorts and writes the image data into the multiple tiers based on attributes assigned to the image data. Further, the Examiner notes the Applicant’s claim language does not explicitly define what is required by the “set of data processing instructions” and the “processing” as argued by the Applicant; and therefore has been broadly construed as shown above. Lastly, the Examiner notes the other arguments (see pages 9-10) have been considered and notes the responses above.
3. RELEVANT ART CITED BY THE EXAMINER
The following prior art made of record and not relied upon is cited to establish the level of skill in the applicant's art and those arts considered reasonably pertinent to applicant's disclosure. See MPEP 707.05(c).
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. These references include:
Agarwala (US 8756310), which teaches approaches (e.g., online methods) to analyze end-to-end performance issues in a multi tier enterprise storage
system (ESS), such as a storage cloud, where data may be distributed across multiple storage components. Specifically, performance and configuration data from different storage components (e.g., nodes) is collected and analyzed to identify nodes that are becoming (or may become) performance bottlenecks. In a typical embodiment, a set of components distributed among a set of tiers of an ESS is identified. For each component, a total capacity and a current load are determined. Based on these values, a utilization of each component is determined. Comparison of the utilization with a predetermined threshold and/or analysis of historical data allows one or more components causing a bottleneck to be identified.
4. CLOSING COMMENTS
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 PRASITH THAMMAVONG whose telephone number is (571) 270-1040. The examiner can normally be reached Monday - Friday 12-8 PM EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Arpan Savla can be reached on (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.
/PRASITH THAMMAVONG/
Primary Examiner, Art Unit 2137