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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 3/11/2026 has been entered. Applicant’s submission of a response on 3/11/2026 has been received and considered. In the response, Applicant amended claims 1, 9, 13 and 20. Therefore, claims 1 – 20 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.
Claims 1 – 16 and 18 – 20 are rejected under 35 U.S.C. 103 as being unpatentable over Canessa (WO 2019/074952 A2) in view of Lucas et al. (US Patent No. 10,016,689) and Brothers et al. (US Patent No. 7,737,983).
As per claim 1, Canessa discloses a computer-implemented method comprising: accessing one or more telemetry events (game instances during gaming sessions, e.g., a timestamp corresponding to a specific instant of time, a game level, a weapon level, etc, see [0014]) generated by one or more hardware components of a graphics processing unit (GPU) as part of a graphics generation process (see [0014]); storing the telemetry events in the optimized data format in a shared memory location that is accessible to the plurality of concurrently running media application sessions (see Fig.9A – game server (118) has a main dynamic memory (410) and [0072] and [0073]); providing, in real time (real-time game profiling and analysis process), a reference to the telemetry events stored data in the shared memory location to one or more event consumers (the game profiling instruction, identifying by a local orchestrator module of the game server the subset of the plurality of game instances according to the game profiling instruction and collecting by a collection module of the game server the plurality of data samples associated with each game instance in the identified subset, see Fig. 5 and 9B and [0013] and [0105]).
Canessa does not expressly disclose reformatting the telemetry events from one or more native representations to a data format that is optimized for access by a plurality of concurrently running media applications sessions and generating one or more references for at least a portion of the telemetry events.
Lucas et al. teaches synchronized video with in game telemetry, wherein a telemetry data acquisition system can be configured to acquire telemetry data during a gameplay session. The telemetry data can be stored in a variety of database formats. The telemetry data can be transformed into statistics for analyzing and debugging the game application. The telemetry data may be transformed or organized to show various metrics or statistics associated with a game application, such as, for example, average completion time as a function of individual game level, average weekly bug rate, revenue per day, number of active players per day, and so on. These statistics can sometimes be referred to as game metrics (see Col. 6, line 48 – Col. 7, line 4). Examiner interprets the telemetry acquisition system to convert raw telemetry into time-indexed structured records specifically designed for simultaneous access by multiple media consumers.
Brothers et al. teaches GPU pipeline multiple level synchronization controller processor, wherein in the GPU pipeline synchronization system in which a Command Steam Processor (CSP) processes GPU hardware events arising during execution of a graphics generation process. Specifically, Brothers et al. teaches when a trap command is encountered in the GPU pipeline, the CSP’s backend portion generates a Trap ID (an identification reference) associated with the trap token and writes that Trap ID to an event history buffer in memory for future references and delivery to consumers (see Col. 12, line15 – 44, the trap events are generated by GPU hardware components during graphics command execution, i.e., as part of a graphics generation process).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to have incorporated the telemetry reformatting and structure techniques of Lucas et al. into Canessa and incorporated the explicit GPU pipeline reference generation mechanism of Brothers et al. into the telemetry pipeline architecture of Canessa as it would improve scalability, efficiency and usability when multiple media sessions concurrently consume the telemetry data.
As per claim 2, Canessa discloses the plurality of concurrently running media application sessions comprise video game sessions (see [0109]).
As per claim 3, Canessa discloses at least one of the event consumers comprises a video game operating system (the one or more gaming sessions is executed at a game application of a client device to enable gameplay via the client device, see [0037]).
As per claim 4, Canessa discloses the telemetry events comprise video game session information including user information (the game state data includes game context data associated with a gaming session, e.g., a timestamp corresponding to a specific instant of time, a game level, a weapon level, a costume type and a number of objects in a game scene, see [0014]).
As per claim 5, Canessa discloses monitoring the reference to initialize one or more processes related to the plurality of concurrently running media application sessions (gameplay activities in the gaming environment is monitored and analyzed by a distributed real-time profiling system including at least a profiling server in addition to one or more game servers, see [0038]).
As per claim 6, Canessa discloses the one or more initialized processes comprise a process to transition one or more of the concurrently running media application sessions to an alternate host computing system (see [0039] and [0195]).
As per claim 7, Canessa discloses the one or more initialized processes comprise a process to determine whether malicious activity is occurring on at least one of the concurrently running media application sessions (alert to identify client-side glitches in the game, see [0145]).
As per claim 8, Canessa discloses aggregating a plurality of events from the plurality of concurrently running media application sessions (collect a plurality of data samples for a subset of the game instances, [0038]); and routing the aggregated plurality of events to at least one of the one or more event consumers (see [0038] and [0056]).
As per claim 9, Canessa discloses the reference to the telemetry events stored in the shared memory location is added to a protocol buffer corresponding to one or more of the concurrently running media application sessions (vertex data buffer, see [0081]).
As per claim 10, Canessa discloses co-locating a plurality of references to the telemetry events in an event pool in the shared memory location (a static memory pool that is shared, see [0072] – [0074]).
As per claim 11, Canessa discloses monitoring the event pool for changes in at least one of the telemetry events (see [0061] and [0072] – [0074]).
As per claim 12, Canessa discloses tracking one or more of the telemetry events that are dropped during communication (a timestamp is created for the game instances, [0080], one of the game instances can be a drop of frame rate during game play, see [0154]).
As per claim 13, 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 14, Canessa discloses the reference to the telemetry events is provided to the event consumers in batches (the game profiling instruction, identifying by a local orchestrator module of the game server the subset of the plurality of game instances according to the game profiling instruction and collecting by a collection module of the game server the plurality of data samples associated with each game instance in the identified subset, see Fig. 5 and 9B and [0013] and [0105]).
As per claim 15, Canessa discloses adding one or more portions of contextual information to at least one of the batches provided to the event consumers (see [0090]).
As per claim 16, Canessa discloses the batches are defined by one or more configurable batching characteristics in a customizable manner (see [0061] and [0072] – [0074]).
As per claim 18, Canessa discloses monitoring the reference to the telemetry events to initialize one or more processes related to the plurality of concurrently running media application sessions (gameplay activities in the gaming environment is monitored and analyzed by a distributed real-time profiling system including at least a profiling server in addition to one or more game servers, see [0038]).
As per claim 19, Canessa discloses the one or more initialized processes comprise a process to determine whether malicious activity is occurring on at least one of the concurrently running media application sessions (alert to identify client-side glitches in the game, see [0145]).
As per claim 20, the instant claim is a non-transitory computer-readable medium in which corresponds to the method of claim 1. Therefore, it is rejected for the reasons set forth above.
Examiner’s Note
Claim 17 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.
Response to Arguments
Applicant’s arguments with respect to claims 1 – 16 and 18 – 20 have been considered but are moot because the arguments do not apply to all of the references being used in the current rejection. Applicant's arguments directed to Canessa in view of Lucas et al. have been addressed as part of the rejection of the claims. Examiner directs Applicant to the teachings of Brothers et al.
Conclusion
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