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 .
Applicant’s Submission of a Response
Applicant’s submission of a response on 6/5/2026 has been received and considered. In the response, Applicant amended claims 1, 2, 5 – 11, 13, 15, 21 – 23 and 26; cancelled claim 27 and added new claim 28. Therefore, claims 1 – 11, 13, 15, 21 – 26 and 28 are pending.
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.
Claims 1 – 11, 13, 15, 21 – 23 and 25 – 26 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Poddar et al. (US Pub. No. 2021/0240546 A1).
As per claim 1, Poddar et al. discloses a method comprising: controlling, by at least one processor, access to an accelerated processing unit configured for sharing by a plurality of containers that execute a plurality of instances of a shared application environment (can mitigate scheduling issues for multiple concurrent workloads… this can include approaches to data or content streaming that enable streaming service providers to provide a higher and more consistent quality of end user experience to streaming clients by mitigating scheduling issues inherent to multi-streaming platforms, see [0018]) by: dividing a time interval for accessing the accelerated processing unit into multiple respective time slots, a number of the multiple respective time slots corresponding to a number of commands the accelerated processing unit is able to execute over the time interval (divides the VSync interval (i.e., the refresh period during which work is performed on the processing unit) into a plurality of respective staggered positions/slots by dividing the processing period by the number of streams/containers the multi-streaming system is able to support, such that each container is placed at a respective position within the interval, because each container is released at its assigned position to submit a responsive command to the processing unit, which performs that work within the interval, the number of slots into which the interval is divided corresponds to the number of commands the processing unit is able to execute over the interval, see [0020] – [0024] and [0029] – [0032]); assigning each of the plurality of containers to one of the multiple respective time slots in a predetermined order according to a disbursement algorithm (assigning each container to a unique staggered position within the VSYNC interval using a “power of two” disbursement algorithm that operated in a predetermined order, see [0029] - [0032]); and causing the plurality of containers to access the accelerate processing unit in the predetermined order by indicating, to each container, a respective assigned time slot when the container is to access the accelerated processing unit (providing a respective signal offset to each container specifying when it is to access the GPU, see Fig. 5 and [0038]).
As per claim 2, Poddar et al. discloses providing a respective signal offset specifying the respective assigned time slot, the respective signal offset based on an offset from a baseline signal specifying a first respective time slot in the predetermined order that a first container is to access the accelerated processing unit (the VSync interval, the first stream is assigned a VSync signal at the start of the interval — time t1 — which constitutes the "baseline signal, see [0030]).
As per claim 3, Poddar et al. discloses the disbursement algorithm causes the plurality of containers to be assigned in the predetermined order to evenly spaced time slots over the time interval (see [0029] - [0032]).
As per claim 4, Poddar et al. discloses the disbursement algorithm is configured based on a binary tree (a process can also attempt to maintain this phase shift between the clients. The initial offset can be remembered, where that offset may have been computed by random method or binary division or other such methods. Since this is a software-generated VSync signal, this signal may not be precise due to factors such as OS scheduling delays, see [0031]).
As per claim 5, Poddar et al. discloses each of the multiple respective time slots is associated with an offset factor according to the disbursement algorithm, and wherein the respective signal offset is determined based on the offset factor (The power-of-two algorithm associates each container/stream with a specific fractional offset factor within the VSync interval (e.g., 0, 1/2, 1/4, 3/4, etc., as shown in FIG. 4A), and the signal offset for each container is determined by multiplying that offset factor by the VSync period, see Fig. 4A – 5 and [0029] – [0032]).
As per claim 6, Poddar et al. discloses assigning the plurality of containers to the graphics processing unit based on computing devices of the plurality of containers having same refresh rate or frame per second criteria (VSync-based synchronization scheme is predicated on all participating containers sharing a common display refresh rate, as VSync signals are by definition tied to a common frame rate (FPS) cycle, see [0018] and [0025]).
As per claim 7, Poddar et al. discloses determining the time interval for accessing the accelerated processing unit with a consistent refresh rate among the computing devices (See [0026[ - [0028]).
As per claim 8, Poddar et al. discloses the number of commands the accelerated processing unit is able to execute over the time interval is based on a maximum number of containers supported by the accelerated processing unit over the time interval (the number of available time slots within a VSync interval is determined by the number of streams/containers that the GPU-based system can support. The granularity of the slot division is a direct function of the maximum number of supported containers, as each container requires one dedicated slot, see [0020] – [0024]).
As per claim 9, Poddar et al. discloses the respective signal offset is provided to each of the plurality of containers to access the accelerated processing unit in the predetermined order by sequentially submitting respective commands to the accelerated processing unit (See Fig. 5 and [0038]).
As per claim 10, Poddar et al. discloses the accelerated processing unit executes the respective commands when the respective commands are submitted to the accelerated processing unit (see [0021]).
As per claim 11, the instant claim is a system in which corresponds to the method of claim 1. Therefore, it is rejected for the reasons set forth above.
As per claim 13, Poddar et al. discloses the shared application environment comprises a shared gaming application environment and each of the plurality of containers is one of a plurality of instances of the shared gaming application environment (see [0037]).
As per claim 15, Poddar et al. discloses a respective signal offset is provided to each of the plurality of containers to access the accelerated processing unit in the predetermined order by sequentially submitting respective commands to the accelerated processing unit, and wherein the accelerated processing unit executes the respective commands when the respective commands are submitted to the shared resource accelerated processing unit (See Fig. 5 and [0038]).
As per claim 21, Poddar et al. discloses each of the plurality of containers executes a respective instance of the shared application environment by accessing the accelerated processing unit, and the plurality of containers execute each instance of the shared application environment by accessing the accelerated processing unit based on commands from a respective computing device from a plurality of computing devices in communication with the at least one processor (See Fig. 1 and [0019] and [0038]).
As per claim 22, Poddar et al. discloses causing the plurality of containers to access the accelerated processing unit in the predetermined order causes consistent quality of service of the shared application environment across the plurality of computing devices (see [0021] and [0036]).
As per claim 23, Poddar et al. discloses the plurality of containers to access the accelerated processing unit in the predetermined order regulates consistent latencies between the accelerated processing unit and the plurality of computing devices (the staggered ordering of GPU access regulates and equalizes latency for all client devices, see [0025] and [0036]).
As per claim 25, Poddar et al. discloses dividing the time interval into the multiple respective time slots comprises dividing the time interval into the evenly spaced time slots, and each evenly spaced time slot corresponds to one of the multiple respective time slots (see [0029] - [0032]).
As per claim 26, Poddar et al. discloses causing the plurality of containers to access the accelerated processing unit in the predetermined order regulates the accelerated processing unit to not switch to a reduced-power or idle state between sequential container accesses (see [0025]).
Examiner’s Note
Claim 24 is objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. Poddar et al. does not expressly disclose executing the disbursement algorithm by: inputting to the binary tree a number of the plurality of containers and the time interval; calculating respective offset factors for the plurality of containers based on respective positions of the plurality of containers within the binary tree; outputting respective signal offsets for the plurality of containers by multiplying the respective offset factors by the time interval; and associating each of the multiple respective time slots with one of the respective offset factors.
New independent claim 28 is allowable over the prior art of record. Poddar does not expressly disclose, and the prior art of record does not teach or fairly suggest, executing the disbursement algorithm by: inputting to a binary tree a number of the plurality of containers and the time interval; calculating respective offset factors for the plurality of containers based on respective positions of the plurality of containers within the binary tree; outputting respective signal offsets for the plurality of containers by multiplying the respective offset factors by the time interval; and associating each of the multiple respective time slots with one of the respective offset factors, in combination with the remaining limitations of the claim.
While Poddar computes an offset for each container using a binary representation of the container’s instance ID (see [0031] and Fig. 4A), Poddar does not disclose inputting the number of containers and the time interval to a binary tree, calculating offset factors from respective positions within the binary tree, outputting the signal offsets by multiplying the respective offset factors by the time interval, and associating each time slot with a respective offset factor, as recited.
Response to Arguments
Applicant's arguments filed 6/5/2026 have been fully considered but they are not persuasive. Applicant argues on p. 9 – 11 that Poddar does not disclose “dividing a time interval for accessing the accelerated processing unit into multiple respective time slots, a number of the multiple respective time slots corresponding to a number of commands the accelerated processing unit is able to execute over the time interval” and further argues that Poddar’s power-of-two approach merely enables new streams to be dynamically added at well-distributed positions without affecting the scheduling of existing streams. The Examiner respectfully disagrees.
Poddar disclosure is not limited to the dynamic-addition passage relied upon by Applicant. Poddar separately divides the processing period (VSync interval) by the number of streams/containers the multi-streaming system is able to support in order to determine the respective positions at which the containers access the processing unit. Each container (at its assigned position within the interval) is released to submit a respective command to the processing unit, which performs that work within the interval. The number of positions/slots into which the interval is divided corresponds to the number of containers supported and therefore, to the number of commands the processing unit is able to execute over the interval. This reading is reinforced by Applicant’s own amended claim 8, which defines “the number of commands the accelerated processing unit is able to execute over the time interval” as being “based on a maximum number of containers supported by the accelerated processing unit over the time interval”, the very quantity by which Poddar divides the interval. Under the broadest reasonable interpretation, the recited “corresponding to” relationship reads on Poddar’s division of the interval by the number of supported containers/streams and the dynamic-addition feature of Poddar’s scheme does not negate this separate disclosure.
With respect to dependent claim 8, Applicant argues Poddar does not disclose that the number of commands is based on a maximum number of containers supported. For the reasons above, Poddar discloses that the number of positions within the interval is determined by the number of streams/containers the system is able to support, see [0020]–[0024]. The argument is not persuasive.
With respect to the amendment of “graphics processing unit” to “accelerated processing unit,” the amendment does not distinguish over Poddar. Poddar expressly discloses processing units comprising a combination of central processing units (CPUs) and graphics processing units (GPUs), which reads on an accelerated processing unit under the broadest reasonable interpretation. Therefore, the rejection above is maintained.
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 ANKIT B DOSHI whose telephone number is (571)270-7863. The examiner can normally be reached Mon - Fri. ~8: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, Dmitry Suhol can be reached at 571-272-4430. 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.
/ANKIT B DOSHI/Examiner, Art Unit 3715