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 .
Claim Objections
Claim 5 is objected to because of the following informalities: It contains the limitation “a plurality of set of data elements.” The examiner believes this is a typographical error and should be “a plurality of sets of data elements.” Appropriate correction is required.
Claim 11 objected to because of the following informalities: It contains the limitation “the respective the index number.” The examiner believes this isa typographical error and should be “the respective index number.” Appropriate correction is required.
Claim Rejections - 35 USC § 112
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 1, 5-7, and 9-15 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.
Claim 1 recites the limitation “a writing operation” in line 15. It is unclear if this is the same writing operation as in line 8.
Claim 1 recites the limitation "the largest set of data elements" in lines 19-20. There is insufficient antecedent basis for this limitation in the claim. It is unclear if it is referring to “the largest set of data elements” from line 11, or “the largest set of data elements” from line 17.
Claim 5 recites the limitation "the largest set of data elements" in line 2. There is insufficient antecedent basis for this limitation in the claim. It is unclear if it is referring to “the largest set of data elements” from claim 1, line 11, or “the largest set of data elements” from claim 1, line 17.
Claim 6 recites the limitation "the largest set of data elements" in lines 3-4 and again in line 5. There is insufficient antecedent basis for this limitation in the claim. It is unclear if it is referring to “the largest set of data elements” from claim 1, line 11, or “the largest set of data elements” from claim 1, line 17.
Claim 7 recites the limitation "the largest set of data elements" in line 2. There is insufficient antecedent basis for this limitation in the claim. It is unclear if it is referring to “the largest set of data elements” from claim 1, line 11, or “the largest set of data elements” from claim 1, line 17.
Claim 13 recites the limitation “a writing operation” in line 14. It is unclear if this is the same writing operation as in line 7.
Claim 13 recites the limitation "the largest set of data elements" in lines 17-18. There is insufficient antecedent basis for this limitation in the claim. It is unclear if it is referring to “the largest set of data elements” from line 10, or “the largest set of data elements” from line 16.
The remaining claims mentioned in the header of the rejection but not specifically addressed inherit the deficiencies of their parent claim and are similarly rejected.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 1, 5-7 and 9-15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Fruchter et al., US PGPub 2021/0089458, hereafter “Fruchter,” in view of JP-4246812-B2, hereafter “Kai.”
With respect to claim 1, Fruchter teaches a computer-implemented method to dimension a buffer memory configured to be used by a plurality of executable tasks that, according to a predetermined time scheduling, at least one of write data elements in the buffer memory or read data elements from the buffer memory, the computer-implemented method comprising:
determining a plurality of writing and reading operations of the plurality of executable tasks (pars. 105-106, the writes associated with the guarded writing region and the reads associated with the guarded reading region),
determining a largest set of data elements to be stored in the buffer memory according to the plurality of writing and reading operations (par. 105, the data chunk associated with writes to the guarded writing region is the largest set of data elements for storing in the buffer memory. Par. 73 teaches dynamically allocating the buffer to the size of the largest data chunk so as to avoid buffer overflow. The examiner is equating determining the chunk size with determining the largest set of data elements); and
dimensioning the buffer memory according to the largest set of data elements (par. 105, dimensioning the buffer memory such that the guarded writing region equals the size of the data chunk. Par. 73 teaches dynamically allocating the buffer to the size of the largest data chunk so as to avoid buffer overflow).
Fruchter fails to teach determining a lifetime of each data element involved in the plurality of writing and reading operations, wherein the lifetime is a time range in the predetermined time scheduling between a writing operation of the data element and a last reading operation of the data element.
Kai teaches:
wherein a writing operation occurs from a start time of an executable task, and a reading operation occurs at an end time of an executable task (par. 40, "Next, a description will be given of a control method for determining the data arrangement by paying attention to the data lifetime, that is, the period from the first writing to the last reading for an arbitrary variable.”);
determining a lifetime of each data element involved in the plurality of writing and reading operations, wherein the lifetime is a time range in the predetermined time scheduling between a writing operation of the data element and a last reading operation of the data element (par. 40, “Next, a description will be given of a control method for determining the data arrangement by paying attention to the data lifetime, that is, the period from the first writing to the last reading for an arbitrary variable.”); and
determining a largest set of data elements having overlapping lifetimes; and dimensioning the buffer memory according to the largest set of data elements having overlapping lifetimes (pars. 40-43 and figures 7A-7E, “Next, a description will be given of a control method for determining the data arrangement by paying attention to the data lifetime, that is, the period from the first writing to the last reading for an arbitrary variable. FIG. 7A is a graph showing the lifetime of each data A to H stored in the DRAM. If mapping is performed without considering the lifetime of data as shown in FIG. 7B, data with different lifetimes may be assigned to the same row. FIG. 7C is a diagram in which the lifetime of each data in FIG. 7A is arranged for each row. For example, since row R1 stores data B, C, and F, it is necessary to always refresh row R1 while at least one of data B, C, and F is alive. Therefore, in this embodiment, as shown in FIG. 7D, paying attention to the lifetimes of the data A to H, the data whose lifetimes overlap or are close to each other are arranged in the same row. Store in DRAM. The method of determining the combination of data to be assigned to each row with the goal of minimizing the sum of the period in which live data is stored for each row can be solved as a combinatorial optimization problem. In the example shown in FIG. 7D, data A and C are arranged in row R0, data B and D are arranged in row R1, data F and G are arranged in row R2, and data E is arranged in row R3. FIG. 7E is a graph showing the lifetime of data for each row after the writing positions of the data A to H are changed. In this way, after assigning data whose lifetimes overlap or are close to each other to the same row, a setting for controlling execution of refresh is performed for each row.” In other words, space in each row is allocated in such a way that it fits the largest set of data elements having overlapping lifetimes, or as Kai puts it “minimizing the sum of the period in which live data is stored for each row can be solved as a combinatorial optimization problem.”).
It would have been obvious to one of ordinary skill in the art, having the teachings of Fruchter and Kai before him before the earliest effective filing date, to modify the memory storing method of Fruchter with the memory storing method of Kai, in order optimize the use of memory space by minimizing the sum of the period in which live data is stored, as taught by Kai in par. 42- “Therefore, in this embodiment, as shown in FIG. 7D, paying attention to the lifetimes of the data A to H, the data whose lifetimes overlap or are close to each other are arranged in the same row. Store in DRAM. The method of determining the combination of data to be assigned to each row with the goal of minimizing the sum of the period in which live data is stored for each row can be solved as a combinatorial optimization problem.”
With respect to claim 5, Fruchter and Kai teach all limitations of the parent claim. Fruchter further teaches the computer-implemented method of claim 1 wherein determining the largest set of data elements includes selecting a set of data elements from the plurality of set of data elements with a highest number of overlapping data elements (par. 105, the size of each data element is the size of each addressable location, and the size of the guarded data writing region comprises the sum of the addressable locations, the data chunk size. Par. 73 teaches dynamically allocating the buffer to the size of the largest data chunk so as to avoid buffer overflow. See also par. 81-82 which describe how the guarded reading and writing regions include consist of all the addresses contained therein).
With respect to claim 6, Fruchter and Kai teach all limitations of the parent claim. Fruchter further teaches the computer-implemented method of claim 1, wherein dimensioning the buffer memory includes: determining a memory size of each data element of the largest set of data elements, and computing a memory size of the largest set of data elements based on the respective memory sizes of the data elements of the largest set of data elements (par. 105, the size of each data element is the size of each addressable location, and the size of the guarded data writing region comprises the sum of the addressable locations, the data chunk size. Par. 73 teaches dynamically allocating the buffer to the size of the largest data chunk so as to avoid buffer overflow. See also par. 81-82 which describe how the guarded reading and writing regions include consist of all the addresses contained therein).
With respect to claim 7, Fruchter and Kai teach all limitations of the parent claim. Fruchter further teaches the computer-implemented method of claim 1 wherein determining the largest set of data elements includes selecting a set of data elements from a plurality of sets of data elements with a largest memory size (pars. 105, each data chunk is the same size, so all contain the same, largest, size. Par. 73 teaches dynamically allocating the buffer to the size of the largest data chunk so as to avoid buffer overflow).
With respect to claim 9, Fruchter and Kai teach all limitations of the parent claim. Fruchter further teaches the computer-implemented method of claim 1 wherein:
the buffer memory includes a plurality of memory spaces each having an index number (pars. 105-106, the addresses correspond to the index numbers); and
the computer-implemented method further comprises assigning, based on the plurality of writing and reading operations, a respective index number to each of the plurality of executable tasks to at least one of:
write a data element in a memory space corresponding to the respective index number (par. 105, the writing is done by incrementing through the addresses, writing at each address), or
read a data element from the memory space corresponding to the respective index number (par. 106, the reading is done by incrementing through the addresses, reading from each address).
With respect to claim 10, Fruchter and Kai teach all limitations of the parent claim. Fruchter further teaches the computer-implemented method according to claim 9 wherein:
the predetermined time scheduling is iterative (par. 96 and fig. 3A, the guarded writing region 330A increments to the next guarded region 330D, thus being iterative); and
assigning each respective index number to each of the plurality of executable tasks is performed at least during a duration within the predetermined time scheduling equal to the duration of one iteration of the predetermined time scheduling multiplied by a number of data elements in the largest set of data elements (pars. 95-96, the guarded writing region 330A includes all the addresses (index numbers) from the starting address 331A to the ending address 322A, so multiplying the size of data written at one address by the number of addresses from start to end equals the data chunk size, which is the size of the guarded writing region. See also par. 81-82 which describe how the guarded reading and writing regions include consist of all the addresses contained therein).
With respect to claim 11, Fruchter and Kai teach all limitations of the parent claim. Fruchter further teaches the computer-implemented method of claim 9 further comprising: controlling the plurality of executable tasks to at least one of write data elements in the buffer memory or read data elements from the buffer memory during time intervals of the predetermined time scheduling, wherein the plurality of executable tasks are configured to perform at least one of write data in or read data from the memory spaces corresponding to the respective the index number (par. 130 and fig. 5C, data is written to and read from addresses (index numbers) during the time interval).
With respect to claim 12, Fruchter and Kai teach all limitations of the parent claim. Fruchter further teaches the computer-implemented method of claim 1 further comprising controlling the plurality of executable tasks to at least one of write data elements in the buffer memory or read data elements from the buffer memory during time intervals of the predetermined time scheduling (pars. 125 and 130, and fig. 5C, data is written and read during the time interval. As can be seen in the figure and described in the paragraphs, the data producing unit is writing data while the data consuming unit is reading the data being written).
Claim 13 is a non-transitory computer readable medium that corresponds to the method of claim 1, and is rejected using similar logic.
With respect to claim 14, Fruchter and Kai teach all limitations of the parent claim. Fruchter further teaches the non-transitory computer readable medium of claim 13, wherein the instructions include controlling the plurality of executable tasks to at least one of write data elements in the buffer memory or read data elements from the buffer memory during time intervals of the predetermined time scheduling (pars. 125 and 130 and fig. 5C, data is written to and read from during the time interval. As can be seen in the figure and described in the paragraphs, the data producing unit is writing data while the data consuming unit is reading the data being written).
With respect to claim 15, Fruchter and Kai teach all limitations of the parent claim. Fruchter further teaches a vehicle comprising a computer system including:
the non-transitory computer readable medium of claim 13 (see above rejection of claim 13); and
the buffer memory (par. 101, the shared memory).
Response to Arguments
Applicant's arguments filed 08/05/2025 have been fully considered but they are not persuasive. Applicant argues on pages 67 that Fruchter and Kai do not teach “determining a largest set of data elements having overlapping lifetimes” and “dimensioning the buffer memory according to the largest set of data elements.” The examiner disagrees. Pars. 40-43 and figures 7A-7E of Kai show dimensioning the rows of the buffer memory to accommodate the largest set of data elements having overlapping lifetimes for each row, solving an optimization problem for both the number of rows used, and the number of cells used in each row, as disclosed by Kai in par. 36, “With the number of rows as the memory structure and the number of memory cells per row as constraints, the optimization of combinations between data is performed so that the number of rows to which data is actually allocated is minimized.”
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 RYAN DARE whose telephone number is (571)272-4069. The examiner can normally be reached M-F 9:00-5:00.
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, Kenneth Lo can be reached at 571-272-9774. 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.
/RYAN DARE/Examiner, Art Unit 2136
/KENNETH M LO/Supervisory Patent Examiner, Art Unit 2136