DETAILED ACTION
Response to Amendment
This Final Office Action is in response to the applicant’s remarks and arguments filed on November 19, 2025.
Claims 1-3, 5-6, 8-9 and 11-21 were amended.
Claims 1-21 remain pending in the application. Claims 21 are being considered on the merits.
Response to Arguments
Rejections under 35 U.S.C. § 101
In view of the amendment and applicant’s remarks, 101 rejection is withdrawn.
Applicant’s argument regard the §101 is found to be persuasive. Accordingly, the rejection has been withdrawn.
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 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) 1-5, 10-13, 16-18 and 21 are rejected under 35 U.S.C. 103 as being unpatentable over Colenbrander (US 20210255970, Colenbrander hereinafter) in view of Vlad Nae et al. “Cost-Efficient Hosting and Load Balancing of Massively Multiplayer Online Games”, Vlad hereinafter, 2010) and Eric Bauer et al. “SERVICE QUALITY OF CLOUD-BASED APPLICATIONS” Eric hereinafter, 2016).
As to claim 1, Colenbrander teaches a method comprising:
measuring a load demand of each gaming session of a plurality of gaming sessions (e.g., para 26, “resource demand may be predicted for a particular data center” , “ it can be predicted that a data center will soon be handling many clients running compute intensive gaming applications“ , “ anticipation of increased loading”, “the load and demand for resources” for “a client device that is requesting execution of a particular gaming application”, “Cloud Gaming sessions” in para 25 and 53.
Thus, the “resource demand” coupled with the “anticipation of increased loading”, “the load and demand for resources” include measuring a load demand), wherein each gaming session corresponds to an application of a plurality of applications being executed on one or more compute nodes of a plurality of compute nodes distributed across a plurality of rack assemblies of one or more data centers (e.g., see FIG. 1, para 25, “a client device that is requesting execution of a particular gaming application that is compute intensive to a compute node that may not be running compute intensive applications “, “the same compute intensive gaming application that is being requested over a short period of time, may be spread across different compute nodes, of different compute sleds in one rack assembly or different rack assemblies” for “a gaming session” , “wherein the management functionality of the game cloud system 190 may be distributed through multiple instances of the game cloud system 190 at each of the data centers” in para 23 and 24 ,);
identifying a first application of the plurality of applications based at least in part on a first load demand caused by an execution of the first application on a first compute node of the one or more compute nodes (e.g., para 25, “ a client device that is requesting execution of a particular gaming application that is compute intensive to a compute node “, “ load management of assigning of compute intensive gaming applications “, “the same compute intensive gaming application that is being requested over a short period of time, may be spread across different compute nodes, of different compute sleds in one rack assembly or different rack assemblies to reduce load on a particular compute node, compute sled, and/or rack assembly.”. Thus, the “gaming application” represent the a first application, therefore identifying a first application of the plurality of applications based at least in part on a first load demand caused by an execution of the first application on a first compute node of the one or more compute nodes), and
saving a first gaming session of the plurality of gaming sessions corresponding to the first application ( e.g., para 23, “the user or game can be utilized when saving a user's gaming session”), executing the first application on a second compute node of the plurality of compute nodes (e.g., para 23 and 25, “different compute nodes” and “ the game or the user can be transferred between data centers”, “migration of game play from data center to data center in case the user connects to play games from different geo locations” for “Cloud Gaming sessions” in 53).
However, Colenbrander does not teach saving a game state , after saving the game state and while the gaming session is being outputted on a client device, suspending execution of the first application on the first compute node: and executing, based at least in part on the game state.
Vlad teaches saving a game state (e.g., see page 3, “IV. LOAD BALANCING “, “state of the game session ” and “the state of all avatars and other entities is computed, stored into a persistent database, “game state information to the distributed clients” in page 2) , after saving the game state and while the gaming session is being outputted on a client device, and executing, based at least in part on the game state, the first application on the second compute node of the plurality of compute nodes (e.g., see page 6, “B. Load Balancing “, “to create replication servers and migrate clients (i.e. 40 and
50 clients) for “The game world consists of two adjacent zones, handled in
the beginning by two idle game servers. “ , see Figure 5. Thus, executing, based at least in part on the game state, the first application on the second compute node of the plurality of compute nodes).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Colenbrander with those of Vlad because both references are directed to related systems addressing similar technical problems within the same field and seek to improve system performance, reliability, and efficiency.
Colenbrander disclose measuring a load demand of each gaming session of a plurality of gaming sessions, an execution of the first application on a first compute node of the one or more compute nodes while Vlad et al. teach saving a game state, after saving the game state and while the gaming session is being outputted on a client device, and executing, based at least in part on the game state, the first application on the second compute node of the plurality of compute nodes.
Incorporating the teachings of Colenbrander into the system of Vlad et al. would have been a predictable and logical modification, yielding improved operational robustness and efficiency without requiring undue experimentation.
Such a combination would merely involve the substitution or integration of known elements performing their established functions, as taught by Vlad et al., into the system of Colenbrander, consistent with design incentives and market demands for improved performance and scalability. Moreover, Vlad et al. explicitly recognize benefits to “adjust the number of game servers and load distribution to the highly dynamic client load, while maintaining the QoS in 99.34% of the monitored events.” (see Vlad , abstract). —that would naturally be desirable in the system of Colenbrander.
Accordingly, to one of ordinary skill in the art would have had a reasonable expectation of success in combining Colenbrander with Vlad et al., and the combination represents no more than the predictable use of prior art elements according to their known functions.
Eric teaches measuring a load demand of each gaming session page 19, “2.5.2 Service Latency” , “gaming servers respond to user inputs; media servers stream content based on user requests; and so on. In addition to detailed service latency measurements, such as time to load a web page, some applications have service latency measurement expectations for higher level “ , saving a game state (e.g., see page 79, “The state of the virtual machine and its resources are saved to nonvolatile storage” and “2.5.5 Service Retainability” , “to users of session-oriented services—like streaming video—that their session continue” , “online game”, “gaming (e.g., first-party shooter games)” in page 25 , 17) after saving the game state, suspending execution of the first application on the first compute node (e.g., page 79, “• Activate Suspended VM. VMs in the “suspended state” are disabled from performing tasks. The state of the virtual machine and its resources are saved to nonvolatile storage, and virtual resources may be deallocated. Application component instances can be started up in VMs, and those VM instances can be suspended; following failure, a suspended VM instance can be activated, resynchronized, and begin serving users. Suspended VM instances are sleeping “deeply,” ) , and executing the first application on a second compute node of the plurality of compute nodes ( see Figure 4.5, page 55 and 56, “ Nondelivery events are easily understood in the context of live VM migration. A nondelivery incident is experienced during live migration when a nominally running (aka “live”) VM instance is migrated to another host).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the method of Colenbrander and Vlad by adopting the teachings of Eric in order to “maximize the likelihood of delivering comparable or better service to end users when applications are deployed to cloud.” (see Eric, in INTRODUCTION).
As to claim 2, Colenbrander does not teach wherein the load demand comprises an average load demand. However, Vlad teaches wherein the load demand comprises an average load demand ( e.g., see page 5, “the average session load from 20% to 95%, representing the amount of clients participating in the distributed game session relative to the total maximum serviceable clients with the given
resources.). Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the method of Colenbrander by adopting the teachings of Vlad in order to “adjust the number of game servers and load distribution to the highly dynamic client load, while maintaining the QoS in 99.34% of the monitored events.” (see Vlad , abstract).
As to claim 3, Colenbrander teaches measuring load demand includes monitoring data traffic over a plurality of communication channels between the plurality of compute nodes and a plurality of network storage distributed across the plurality of rack assemblies (para 54, see Figs 3 and 4, wherein “ monitor compute nodes using universal asynchronous receive transmit (UART) signals delivering serial data (e.g., power on/off, diagnostics, and logging information), “ and [0049] Network storage 310 (e.g., server) may also be configured to provide network storage access to AMS servers and compute nodes. Network storage access to AMS servers is handled over conventional Ethernet networking (e.g., 10 Gbps between a corresponding network switch and the network storage 310) . Thus, monitoring data traffic over a plurality of communication channels between the plurality of compute nodes and a plurality of network storage distributed across the plurality of rack assemblies).
As to claim 4, Colenbrander does not teach wherein the data traffic is monitored during at least one of a start-up loading period, or a level loading period, or an operation period, or an updating period for a corresponding application of the plurality of applications. However, Vlad teaches wherein the data traffic is monitored during at least one of a start-up loading period, or a level loading period, or an operation period, or an updating period for a corresponding application of the plurality of applications (e.g., page 5, wherein “The monitored game servers are hosted on resources located on three continents and seven countries, summarized in Table I.” , “The traces are sampled every two minutes and contain the number of players over time for each server group used by the game operators. This gives over 10, 000 metric samples for each simulation, ensuring statistical soundness. We input these metric samples as monitoring data into our on-demand resource allocation method (steps 1 − 4 in Figure 2),”). Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the method of Colenbrander by adopting the teachings of Vlad in order to “adjust the number of game servers and load distribution to the highly dynamic client load, while maintaining the QoS in 99.34% of the monitored events.” (see Vlad , abstract).
As to claim 5, Colenbrander does not teach determining a load score for each application in the plurality of applications based at least in part on the load demand of each application; and determining a session load score associated with each gaming session of the plurality of gaming sessions, wherein determining the load score for each application is based at least in part on the session load score of the corresponding gaming session associated with each application. However, Vlad teaches determining a load score for each application in the plurality of applications based at least in part on the load demand of each application; and determining a session load score associated with each gaming session of the plurality of gaming sessions, wherein determining the load score for each application is based at least in part on the session load score of the corresponding gaming session associated with each application (e.g., see Figure 4, page 5, “Figure 4. For the dynamic allocation, the cost is directly proportional to the session load, the small cost step between the 50% and 60% session loads being generated by the minimum allocation time interval of one hour for Amazon
resources. This interval can sometimes represent a too coarse-grain measure for highly dynamic game session loads generating higher over-provisioning values. In this example, the over-allocated resources at 50% load are almost enough
for servicing an identical session at 60% load.”) . Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the method of Colenbrander by adopting the teachings of Vlad in order to “adjust the number of game servers and load distribution to the highly dynamic client load, while maintaining the QoS in 99.34% of the monitored events.” (see Vlad , abstract).
As to claim 10, Colenbrander does not teach predicting a plurality of predicted gaming sessions of one or more predicted applications across the plurality of rack assemblies; determining a predicted load score associated with each of the plurality of predicted gaming sessions, wherein a corresponding predicted application executing to facilitate a corresponding predicted gaming session has a corresponding predicted load score that is assigned to the corresponding predicted gaming session; determining a plurality of predicted load scores associated with the plurality of predicted gaming sessions; and load balancing the plurality of predicted gaming sessions across the plurality of rack assemblies based on the plurality of predicted load scores. However, Vlad teaches predicting a plurality of predicted gaming sessions of one or more predicted applications across the plurality of rack assemblies (e.g., Figure 2. Dynamic MMOG management, page 2, “load prediction service that we described in [6] anticipates the future game world entity distribution from historical trace data using a fast and flexible neural network-based method”) ; determining a predicted load score associated with each of the plurality of predicted gaming sessions, wherein a corresponding predicted application executing to facilitate a corresponding predicted gaming session has a corresponding predicted load score that is assigned to the corresponding predicted gaming session; determining a plurality of predicted load scores associated with the plurality of predicted gaming sessions ; and load balancing the plurality of predicted gaming sessions across the plurality of rack assemblies based on the plurality of predicted load scores (e.g., see page 3, “IV. LOAD BALANCING” “a prediction “snapshot” that estimates the value of these metrics for the next (two minute) time interval” see page 6, table III ESTIMATED YEARLY CLOUD HOSTING COSTS FOR A RUNESCAPE SESSION WITH MAXIMUM 280, 000 CLIENTS”, Figure 6. Load balancing experimental results.”). Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the method of Colenbrander by adopting the teachings of Vlad in order to “adjust the number of game servers and load distribution to the highly dynamic client load, while maintaining the QoS in 99.34% of the monitored events.” (see Vlad , abstract).
As to claim 11, see rejection of claim1 above. Colenbrander teaches further One or more non-transitory computer-readable media comprising computer-executable instructions that, when executed by one or more processors of an electronic device, cause the electronic device to perform operations ( e,g., see FIG. 7).
As to claims 12-13 see rejection of claims 3 and 5 above.
As to claim 16, see rejection of claim 1 above. Colenbrander teaches further a computer system comprising: a memory comprising computer-executable instructions; a processor configured to access the memory and execute the computer- executable instructions to perform operations ( e,g., see FIG. 7).
As to claims 17-18, see rejection of claims 3 and 5 above.
As to claim 21, Colenbrander does not teach wherein saving the game state of the gaming session includes saving a configuration parameter of the first compute node while the first compute node is executing the first application; and to executing the first application on the second compute node based at least in part on the game state includes reconstructing the game state based at least in part on the configuration parameter . However, Vlad teaches wherein saving the game state of the gaming session includes saving a configuration parameter of the first compute node while the first compute node is executing the first application; and to executing the first application on the second compute node based at least in part on the game state ( see rejection of claim 1 above) includes reconstructing the game state based at least in part on the configuration parameter ( e.g., see page 3, “IV. LOAD BALANCING”, “HOST_OVERLOADED meaning that a resource, such as a multi-core processor hosting multiple sessions, is becoming overloaded; typical actions to be performed are to load balance the sessions or to replicate servers”, and “creating a replication action (lines 10−11)” in page 3, “Algorithm 1: The load balancing algorithm”. Thus, “creating a replication” include reconstructing the game state). Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the method of Colenbrander by adopting the teachings of Vlad in order to “adjust the number of game servers and load distribution to the highly dynamic client load, while maintaining the QoS in 99.34% of the monitored events.” (see Vlad , abstract).
Allowable Subject Matter
Claims 6-9, 14-15 and 19-20 (see office action on 08/21/2005) were indicated as allowable, are now objected 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.
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 ABDOU K SEYE whose telephone number is (571)270-1062. The examiner can normally be reached M-F 9-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, Pierre Vital can be reached at 5712724215. 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.
/ABDOU K SEYE/Examiner, Art Unit 2198
/PIERRE VITAL/Supervisory Patent Examiner, Art Unit 2198