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 .
DETAILED ACTION
Claims 1-20 are currently pending and have been examined.
Claim Objections
Claims 20 is objected to because of the following informalities:
Re-claim 20, line 20 recites “execue” when it appears that it should be “execute”.
Appropriate correction is required.
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 of this title, 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-2, 13-14, 20 are rejected under 35 U.S.C. 103 as being unpatentable over Novotny et al. (U.S. Pub. No. 20130274021 A1) in view of Xuebao et al. (CN112860403A English Translation), further in view of Shuai et al. (CN 112350756 A, English Translation), and further in view of Schultz et al. (U.S. Patent No. 10709988 B2).
Novotny, Xuebao and Schultz were cited in a previous office action.
As per claim 1, Novotny teaches the invention substantially as claimed including a resource allocation method, performed by an electronic device (claim 8, A method for provisioning computing resources to a gaming platform), the resource allocation method comprising:
collecting a current online user count of a cloud game in a current time period, and identifying an online user count of the cloud game in a historical time cycle, the historical time cycle comprising one or more historical time periods corresponding to the current time period; wherein the current online user count includes a quantity sequence formed by a plurality of real-time users (par. 0047 the platform manager module 215 receives information from the decision engine 250, and performs actions based on such information; par. 0065 information identifying a number of players, active or otherwise, currently playing a game; par. 0067 information identifying a historical number of players, active or otherwise, that played the game during a certain related time period; wherein the game are, par. 0024, game instances 212A-C within the cloud-based computing environment; par. 0002 describes MMO game may be for example .. a real-time or turn-based strategy game. Further, for purposes of interpretation, the historical number of players and current number of players are data points that constitute a quantity sequence of players).
Novotny does not expressly disclose: predicting a target online user count change of the cloud game in a future time period according to the current online user count and the online user count of the cloud game in the historical time cycle, the future time period being a time period having a same time length as the current time period, wherein the current online user count includes a quantity sequence formed by a plurality of real-time users; dynamically adjusting, according to the initial online user count change and the target online user count change, cloud computing resources allocated to the cloud game.
However, Xuebao teaches:
predicting a target … [load] change of the cloud game in a future time period according to the current … [load] and the … [load] of the cloud game in the historical time cycle, the future time period being a time period having a same time length as the current time period … (par. 0078, obtaining current load data corresponding to the target cluster in the current time period and historical load data corresponding to a plurality of consecutive time periods before the current time period; par. 0081 inputting the current load data and a plurality of historical load data into a load data prediction model that has been trained to convergence, and determining the predicted load data for the next time period; par. 0079 For example, the current time period may be from 1 pm to 2 pm, and the historical load data corresponding to the multiple consecutive time periods before the current time period may be the historical load data corresponding to 12 consecutive time periods between 1 am and 1 pm);
dynamically adjusting, according to the initial … [load] change and the target … [load] change, cloud computing resources allocated to the cloud game (par. 0084 scheduling load resources according to current load data and predicted load data, equivalent to dynamically allocating resources based on the current and predicted load data; par. 0045 If the change in load data is greater than or equal to the preset scheduling threshold, the cloud control server is controlled to schedule the corresponding load resources based on the change in load data).
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 teaching of Novotny by incorporating the technique of predicting load changes and scheduling resources as set forth by Xuebao because it would provide for dynamically allocating resources at least based on a number of current number of players and historical number of players over certain periods of time. This would have allow ensuring sufficient resources are allocated to handle a predicted number of players while also optimizing the utilization of resources.
Novotny and Xuebao do not expressly teach: linearly fitting the quantity sequence using a least square method to obtain an online user count change trend of the cloud game in the current time period according to the current online user count; predicting an initial online user count change of the cloud game in the future time period according to the online user count change trend.
However, Shuai teaches: linearly fitting the quantity sequence using a least square method to obtain an online user count change trend of the cloud game in the current time period according to the current online user count; predicting an initial online user count change of the cloud game in the future time period according to the online user count change trend (par. [0092] The prediction process for users who might be included in the coverage area when the horizontal beamwidth is adjusted to 90° includes: [0093] Obtain the difference in reference signal received strength of users within the coverage area … to be optimized, and use the least squares method to linearly fit a trend curve of user number distribution [quantity sequence]; par. 0070 the distribution of users [initial online user count change in the future] within the coverage area of the … base station to be optimized can be predicted).
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 teaching of Novotny and Xuebao by incorporating the technique using a least square method to predict distribution of user in a coverage area as set forth by Shuai by implementing in the manner of using the least square method to linearly fit a quantity sequence of users of a game to obtain a best fit trend line for a sequence of data points [quantity sequence] in order to predict future values of the quantity of users, as long as historical trends continue.
Novotny and Xuebao do not expressly describe: preloading and executing a game client based on the cloud computing resources.
However, Schultz teaches: preloading and executing a game client based on the cloud computing resources (col. 1, lines 44-49, describe methods and systems that are used for preloading a game on a game cloud server ahead of time, based on a user's interest in the game; col. 31, lines 26-31 wherein pre-loading of the instance of the game to the game console further includes evaluating system resources of the cloud game server to ensure sufficient system resources are available for game play of the game, when the instance of the game is selected for game play by the user).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine/modify the teaching of Novotny, Xuebao Novotny, Xuebao, and Shuai by incorporating the method of preloading games as set forth by Schultz because preloading in advance can reduce the wait time for a user to access the game for game view/game play that is typically prevalent in traditional applications (col. 2, lines 22-24).
As per claim 2, Xuebao teaches: performing numerical adjustment on the initial online user … [load] change according to the online user … [load] of the cloud game in the historical time cycle, to obtain the target online user … [load] change (par. 0035 the current load data of the target cluster in the current time period and the historical load data of multiple consecutive time periods; par. 0084 scheduling load resources according to current load data and predicted load data; par. 0045 If the change in load data is greater than or equal to the preset scheduling threshold, the cloud control server is controlled to schedule the corresponding load resources based on the change in load data). Novotny further teaches: online user count of the user game (par. 0067 information identifying a historical number of players, active or otherwise, that played the game during a certain related time period).
As per claim 13, it is a resource allocation apparatus having similar limitations as claim 1. Thus, claim 13 is rejected for the same rationale as applied to claim 1. Novotny further teaches: at least one memory configured to store program code; and at least one processor configured to read the program code and operate as instructed by the program code (par. 0020 Aspects of the computing platform can be embodied in a special purpose computer or data processor that is specifically programmed, configured, or constructed to perform one or more of the computer-executable instructions; par. 0021 memories such as ROM, RAM, and Compact Flash memories that can store instructions and other storage media).
As per claim 14, it is a resource allocation apparatus having similar limitations as claim 2. Thus, claim 14 is rejected for the dame rationale as applied to claim 2.
As per claim 20, it is a non-volatile computer-readable storage medium having similar limitations as claim 1. Thus, claim 20 is rejected for the dame rationale as applied to claim 1.
Claim 5 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Novotny in view of Xuebao, Shuai and Schultz as applied to claim 1, and further in view of Giannetti et al. (U.S. Patent No. 10979516 B1).
Giannetti was cited in a previous office action.
As per claim 5, Novotny further teaches: collecting a current … user count of the cloud game in the current time period, and counting a … user count of the cloud game in the historical time cycle (par. 0047 the platform manager module 215 receives information from the decision engine 250, and performs actions based on such information; par. 0061 receives information identifying an increasing or decreasing number of players playing a game over a certain time period; par. 0065 information identifying a number of players, active or otherwise, currently playing a game; [0067] information identifying a historical number of players, active or otherwise). Xuebao further teaches: wherein the dynamically adjusting comprises: dynamically adjusting, according to the target online … [load] change after the numerical adjustment, the cloud computing resources allocated to the cloud game (par. 0084 scheduling load resources according to current load data and predicted load data, equivalent to dynamically allocating resources based on the current and predicted load data; par. 0045 If the change in load data is greater than or equal to the preset scheduling threshold, the cloud control server is controlled to schedule the corresponding load resources based on the change in load datal; par. 0062 determines additional game instances to provide within the gaming environment based on the received information. For example, the instance provisioning component 310 determines a number of game instances to remove and/or provision as well as what specific game instances to remove and/or provision, based on the received information).
Novotny, Xuebao, Schultz and Shuai do not expressly disclose: collecting a current queuing user count; performing numerical adjustment on the target online user count change according to the current queuing user count and the queuing user count of the cloud game in the historical time cycle, to obtain the target online user count change after the numerical adjustment.
However, Giannetti teaches: collecting a current queuing … count [length of a message queue], performing numerical adjustment … [quantity of instances] according to the current queuing … to obtain the target … change after the numerical adjustment (col. 14, lines 1- 8, wherein the obtained metrics data includes a length of a message queue of a plurality of messages being processed by the application executing on the legacy system; wherein adjusting a quantity of instances of the application on the cloud native system includes starting at least one instance of the application on the cloud native system to process one or more messages of the plurality of messages of the message queue. In a similar manner, a number/quantity of players of Novotny/Xuebao may be adjusted at least based on a number players in a queue).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine/modify the teaching of Novotny, Xuebao, Shuai and Schultz by incorporating the technique adjusting a quantity of instances as set forth by Giannetti. For instance, Novotny teaches among other things collecting information identifying a number of players, active or otherwise, currently playing a game including historical number of players, active or otherwise, that played the game during a certain related time periods. Xuebao discloses allocating resources based on current load data and changes on load data, but neither of prior arts describe performing numerical adjustment on the target online user count change according to the current queuing user count and the queuing user count of the cloud game in the historical time cycle. Giannetti however describes the concept of adjusting a quantity of instances of an application at least in part on a number of messages in queue. One of ordinary skill in the art would have known how to implement in the manner of adjusting a determined number of players based at least a current/historical data of number of players in a queue. The ability to adjust a target number of players would have provided for appropriately allocating sufficient resources to run the cloud game and thereby enhance performance and user experience.
As per claim 17, Novotny further teaches: collect a current … user count of the cloud game in the current time period, and count a … user count of the cloud game in the historical time cycle (par. 0047 the platform manager module 215 receives information from the decision engine 250, and performs actions based on such information; par. 0061 receives information identifying an increasing or decreasing number of players playing a game over a certain time period; par. 0065 information identifying a number of players, active or otherwise, currently playing a game; [0067] information identifying a historical number of players, active or otherwise). Xuebao further teaches: the resource dynamic adjustment code, configured to cause the at least one processor to dynamically adjust, according to the target online user change quantity, cloud computing resources allocated to the cloud game, is further configured to cause the at least one processor to: dynamically adjust, according to the target online user change count after the numerical adjustment, the cloud computing resources allocated to the cloud game (par. 0084 scheduling load resources according to current load data and predicted load data, equivalent to dynamically allocating resources based on the current and predicted load data; par. 0045 If the change in load data is greater than or equal to the preset scheduling threshold, the cloud control server is controlled to schedule the corresponding load resources based on the change in load data).
Novotny, Xuebao, Shuai and Schultz do not expressly disclose: teaches: collecting a current queuing user count; and perform numerical adjustment on the target online user count change according to the current queuing user count and the queuing user count of the cloud game in the historical time cycle, to obtain the target online user count change after the numerical adjustment.
However, Giannetti teaches: collecting a current queuing … count [length of message queue], performing numerical adjustment … change [quantity of instances] according to the current queuing … to obtain the target … change after the numerical adjustment (col. 14, lines 1- 8, wherein the obtained metrics data includes a length of a message queue of a plurality of messages being processed by the application executing on the legacy system; wherein adjusting a quantity of instances of the application on the cloud native system includes starting at least one instance of the application on the cloud native system to process one or more messages of the plurality of messages of the message queue. In a similar manner, a number/quantity of players of Novotny/Xuebao may be adjusted at least based on a number players in a queue).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine/modify the teaching of Novotny, Xuebao, Shuai and Schultz by incorporating the technique adjusting a quantity of instances as set forth by Giannetti. For instance, Novotny teaches among other things collecting information identifying a number of players, active or otherwise, currently playing a game including historical number of players, active or otherwise, that played the game during a certain related time periods. Xuebao discloses allocating resources based on current load data and changes on load data, but neither of prior arts describe performing numerical adjustment on the target online user count change according to the current queuing user count and the queuing user count of the cloud game in the historical time cycle. Giannetti however describes the concept of adjusting a quantity of instances of an application at least in part on a number of messages in queue. One of ordinary skill in the art would have known how to implement in the manner of adjusting a determined number of players based at least a current/historical data of number of players in a queue. The ability to adjust a target number of players would have provided for appropriately allocating sufficient resources to run the cloud game and thereby enhance performance and user experience.
Claims 7-9 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Novotny in view of Xuebao, Shuai, and Schultz as applied to claim 1, and further in view of Mirkhani et al. (U.S. Pub. No. 20040163007 A1).
Mirkhani was cited in a previous office action.
As per claim 7, Xuebao further teaches: selecting a historical time cycle having time correlation with the current time period (par. 0079 For example, the current time period may be from 1 pm to 2 pm, and the historical load data corresponding to the multiple consecutive time periods before the current time period may be the historical load data corresponding to 12 consecutive time periods between 1 am and 1 pm).
Novotny, Xuebao, Shuai, and Schultz do not expressly describe: performing data sampling on an online user count in the historical time cycle according to a time period length of the current time period to obtain a data sampling result; and counting the data sampling result to obtain the online user count of the cloud game in the historical time cycle.
However, Mirkhani teaches: performing data sampling on an online user count in the historical time cycle according to a time period length of the current time period to obtain a data sampling result; and counting the data sampling result to obtain the online user count of the cloud game in the historical time cycle (par. 0015 monitoring module 14 may determine the number of users of an associated software application 20 using a predefined statistical procedure. The predefined statistical procedure may be based on a statistical sampling of past actual or estimated user quantity information to determine the number of users associated with software application 20 at one or more time intervals. This past user quantity information may be used to determine future user quantity information).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine/modify the teaching of Novotny, Xuebao, Shuai and Schultz by incorporating the sampling method of identifying the user count as set forth by Mirkhani because it would provide to estimating the number of users associated with a game application at one or more time intervals in the future. The ordinary skill in the art would have been motivated to combine because it would provide one or more technical advantages. For example, in one embodiment, the present invention may provide for measuring and tracking the number of lost hours or other units incurred by users due to downtime of software applications or other computer-implemented systems on an organization-wide basis. The present invention may provide a cost-effective process that may be deployable across a large, complex enterprise with many users. Lost units, whether they affect individual users or entire businesses, may lead to lost revenue. The present invention may help a business identify sources of lost revenue resulting from lost units so as to better evaluate alternative software applications, computer systems, networks, and other resources [par. 0003].
A per claim 8, Xuebao further teaches: acquiring a current time cycle in which the current time period is located, wherein the current time cycle has a specified time length and fixed start-end time points; and selecting one or more historical time cycles having the same time length as the current time cycle (par. 0079 the current time period may be from 1 pm to 2 pm, and the historical load data corresponding to the multiple consecutive time periods before the current time period may be the).
A per claim 9, Xuebao further teaches: acquiring a sliding time window synchronously moving with the current time period, wherein the sliding time window has a specified time length and dynamic start-end time points; and selecting a historical time cycle continuous with the current time period according to the sliding time window (par. 0079 the current time period may be from 1 pm to 2 pm, and the historical load data corresponding to the multiple consecutive time periods before the current time period may be the historical load data corresponding to 12 consecutive time periods between 1 am and 1 pm. The multiple continuous time periods in this embodiment can be set according to actual needs. If the accuracy of the prediction is to be improved, the number of continuous time periods can be increased to 20 or 30 [dynamic]).
As per claim 19, it is a resource allocation apparatus having similar limitations as claim 7. Thus, claim 19 is rejected for the dame rationale as applied to claim 7.
Allowable Subject Matter
Claims 3-4, 6, 10-12, 15-16 and 18 are 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, 13 and 20 have been considered but are moot in view of the new ground(s) of rejection.
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 extension fee 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 date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Willy W. Huaracha whose telephone number is (571) 270-5510. The examiner can normally be reached on M-F 8:30-5:00pm.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Bradley Teets can be reached on (571) 272-3338. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/WH/
Examiner, Art Unit 2195
/BRADLEY A TEETS/ Supervisory Patent Examiner, Art Unit 2197