DETAILED ACTION
Claims 1-20 are pending.
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.
Claims 1, 2, 4-7, 10-18 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Whitnah et al. (US 2010/0049852 A1) in further view of Zhao (US 2015/0019740 A1).
Regarding claim 1, Whitnah teaches the invention substantially as claimed including a system comprising:
a processor ([0121] a computer processor); and
memory comprising executable instructions that, when executed ([0121] Any of the steps, operations, or processes described herein may be performed or implemented with one or more hardware or software modules, alone or in combination with other devices. In one embodiment, a software module is implemented with a computer program product comprising a computer-readable medium containing computer program code, which can be executed by a computer processor for performing any or all of the steps, operations, or processes described.), perform operations comprising:
identifying values for a set of factors for prioritizing an allocation of network computing resources to an application among a plurality of applications (Abstract: applications are ranked based on their user affinity measures. User affinity is based on measuring positive and negative interactions by users as both senders and recipients of messages generated by applications. Metrics are computed for the different types of messages and interactions provided by applications… User affinity scores of applications calculated for a channel are used to decide the allocation of channel resources for an application.; [0054-60]);
generating a set of individual scores for the set of factors based on the values for the set of factors and an individual weight for each of the set of factors, wherein each of the individual weights indicates an importance of a corresponding factor to a priority of the application ([0074] The action type affinity metric server 1210 computes 1310 the rate of actions taken by members in a given time interval and uses the rate of actions to compute 1320 the action affinity metric value for each action associated with an application and a given channel. Examples of several action affinity metrics are provided in the next section. The action scores of related sets of actions are combined 1340 to compute the user affinity score of the application for a channel by the user affinity score server 1230. The user affinity score of the application for a channel is used to determine 1350 the channel allocation for the application by the resource allocation server 1240. The overall process executed by the channel resource manager 1145 is described in detail in the next section.; [0091] The action type affinity scores associated with an application for a given channel are combined together to get a numeric score for the application for a given channel.; [0096] All these action type affinity scores associated with an application for a channel are assigned specific weights before being combined into the user affinity score of the application for the channel.; In the equation (3): [0097] s.sub.i is the action type score s(x|a) for the i.sup.th action [0098] w.sub.i is the weight associated with the i.sup.th action);
generating a combined score by combining the set of individual scores, wherein the combined score indicates the priority of the application ([0096-99] All these action type affinity scores associated with an application for a channel are assigned specific weights before being combined into the user affinity score of the application for the channel. See equation 3); and
prioritizing the allocation of the network computing resources to the application with respect to the plurality of applications based on the combined score (Abstract; [0106] [0106] As described in the previous section, each application receives a user affinity score with respect to each channel. For each application, channel resources are allocated to the application, based on its user affinity score.).
While Whitnah teaches dynamically changing resource allocation to applications based on an interaction weighed sum and defines the resource in [0034] as “The mechanisms of communication between members are called channels available as resources 110. A channel is a computer mediated communication mechanism for facilitating communication between users”. Whitnah does not explicitly teach a network computing resource.
However, in a similar field, Zhao teaches network bandwidth allocation based on application priority. For example, Zhao’s Abstract states “A network bandwidth allocation method and terminal are provided. The method includes: obtaining a priority of an application program that is running on the terminal and occupies a network resource; obtaining currently available network bandwidth of the terminal; and allocating the currently available network bandwidth to the application program according to a network bandwidth allocation policy of the terminal and the priority of the application program.” Further, Zhao does teach a network computing resource ([0002] The present invention relates to the field of resource allocation technologies, and in particular, to a network bandwidth allocation; [0009] allocating different proportions of network bandwidth to application programs with different priorities; and correspondingly, the allocating the currently available network bandwidth to the application program according to a network bandwidth allocation policy of the terminal and the priority of the application program specifically includes: determining, according to the network bandwidth allocation policy, a network bandwidth allocation proportion corresponding to a priority of each of the application programs; dividing the currently available network bandwidth according to the network bandwidth allocation proportion and determining a network bandwidth allocation value corresponding to the priority of the application program; and allocating network bandwidth to the application program with the corresponding priority according to the network bandwidth allocation value.).
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 Zhao of allocation network resources such as bandwidth based on a determined priority of an application with the method of determining application priority to allocate communication/network channels to applications as taught by Whitnah. The modification would have been motivated by the desire of combining known methods of resource allocation to yield predictable results.
Regarding claim 2, Whitnah teaches wherein the values for the set of factors are based at least in part on a set of signal values ([0052] Examples of member's actions that indicate the member's positive or negative feedback towards an application include but are not limited to actions such as uninstalling the application, minimizing the application, trying to get more information about the application etc. Several such actions are described in detail below.).
Regarding claim 4, Whitnah teaches the operations further comprising:
normalizing each of the set of individual scores for the set of factors ([0089-90] The equation (2) represents one mechanism to normalize the ratio of probabilities).
Regarding claim 5, Whitnah teaches the operations further comprising: providing a prioritization indication for the application based at least in part on the combined score ([0053]; [0074] The channel resource manager 1145 allocates channel resources to different applications. This component is shown in more detail in FIG. 12. The various steps executed by the channel resource manager 1145 are shown in the flowchart in FIG. 13. The action type affinity metrics server 1210 collects 1300 statistics related to user actions that provides positive or negative feedback towards applications. In one embodiment the action affinity metrics server 1210 periodically analyses action data available in action log 195. Alternatively, various components associated with different actions update the action type affinity metric server 1210 with action information as the action takes place. The action type affinity metric server 1210 computes 1310 the rate of actions taken by members in a given time interval and uses the rate of actions to compute 1320 the action affinity metric value for each action associated with an application and a given channel. Examples of several action affinity metrics are provided in the next section. The action scores of related sets of actions are combined 1340 to compute the user affinity score of the application for a channel by the user affinity score server 1230. The user affinity score of the application for a channel is used to determine 1350 the channel allocation for the application by the resource allocation server 1240.).
Regarding claim 6, Whitnah teaches wherein the prioritization indication comprises at least one of: the combined score ([0074] The action scores of related sets of actions are combined 1340 to compute the user affinity score of the application for a channel by the user affinity score server 1230. The user affinity score of the application for a channel is used to determine 1350 the channel allocation for the application by the resource allocation server 1240.; [0106] In one embodiment, if the user affinity score of the application indicates low user affinity, an application that communicates by sending messages on a channel is allowed to send fewer messages on the channel compared to applications with user affinity score indicating high user affinity), a ranking of the application among the plurality of applications, or a prioritization descriptor for the application.
Regarding claim 7, Whitnah teaches wherein the set of factors comprises at least one of: an application type, application network data usage, an application inactivity duration, or an application interactive frequency ([0008] User affinity is measured based on user interactions that can be considered as feedback provided by the members, and such feedback can be deemed to be positive, negative, or neutral.).
Regarding claim 10, Whitnah teaches the operations further comprising: deprioritizing the application gradually over a time period ([0111] The user actions are written to the action log 195 by the action logger 1125 continuously. The statistics related to user actions used for measuring user affinity are collected 1010 periodically and used to compute the user affinity scores for a channel for the application which is further used to compute 1030 the channel allocation for the application. This computation of channel allocation is repeated for an application based on a predetermined schedule. The schedule also determines the order in which the channel allocation of different applications is computed. The schedule for computing the channel allocation for various applications can change over time.).
Regarding claim 11, Whitnah teaches the operations further comprising: re-generating at least one individual score of the set of individual scores before deprioritizing the application ([0010] The process of calculating the score value, determining channel allocation for an application in a time interval and controlling the channel resource usage of the application based on the channel allocation is repeated periodically, allowing the application the ability to improve its score and increase its channel resource allocation in subsequent time intervals.; [0111]).
Regarding claim 12, Whitnah teaches wherein combining the set of individual scores comprises at least one of adding or subtracting at least two individual scores of the set of individual scores ([0091] The action type affinity scores associated with an application for a given channel are combined together to get a numeric score for the application for a given channel.).
Regarding claim 13, it is a system claim having similar limitations as claim 1 above. Therefore, it is rejected under the same rationale above. Further, the limitation selecting a prioritization mechanism from a plurality of prioritization mechanisms based at least on the combined score is taught by Whitnah in [0010] “One embodiment disables an application from being accessible to users of the social networking website if the user affinity score of the application indicates very low user affinity of the users towards the application. Another embodiment enables an application to be accessible to users of the social networking website if the user affinity score of the application indicates at least a minimum user affinity. Another embodiment determines a per channel allocation of a channel resource for the application based on user affinity score as well as a per user per channel allocation of the channel resource based on user affinity score. If an application meets the per user per channel allocation of the channel resource for a user during a time interval, the application is disabled from using the channel for that user and if the application meets the per channel allocation in a time interval, the application is disabled from using the channel in that time interval.”
Regarding claim 14, Whitnah teaches wherein the selecting comprises selecting a first prioritization mechanism from the plurality of prioritization mechanisms based at least in part on the combined score being above a first threshold score, or selecting a second prioritization mechanism from the plurality of prioritization mechanisms based at least in part on the combined score being below the first threshold score ([0010]).
Regarding claim 15, the combination teaches the operations further comprising: setting a quality of service (QoS) priority for the application based at least in part on the combined score (Whitnah’s ([0096-99] All these action type affinity scores associated with an application for a channel are assigned specific weights before being combined into the user affinity score of the application for the channel. See equation 3); Zhao’s [0016] According to the network bandwidth allocation method and terminal provided in the embodiments of the present invention, network bandwidth is allocated to an application program according to a priority of each application program that needs to be allocated with network bandwidth, currently available network bandwidth of a terminal, and a preset network bandwidth allocation policy. This implements proper network bandwidth allocation according to a user requirement for an application program running on the terminal, so that in a relatively poor network environment, proper running of an application program with a higher priority can also be ensured according to a user requirement, thereby avoiding a problem that application programs cannot run properly due to free preemption of network bandwidth by the application programs, or a corresponding application program cannot run according to a user requirement.).
Regarding claim 16, Whitnah teaches wherein the factors comprise at least one of application network usage metrics, application metadata, an application priority level, application dependencies, application system resource usage, user context and behavior ([0008] User affinity is measured based on user interactions that can be considered as feedback provided by the members, and such feedback can be deemed to be positive, negative, or neutral.), a network type, or historical data.
Regarding claim 17, it is a method claim having similar limitations as claim 1 above. Therefore, it is rejected under the same rationale above.
Regarding claim 18, it is a system claim having similar limitations as claim 2 above. Therefore, it is rejected under the same rationale above.
Regarding claim 20, it is a method claim having similar limitations as claim 4 above. Therefore, it is rejected under the same rationale above.
Claims 3 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Whitnah and Zhao, in further view of Wang et al. (US 2023/0060623 A1).
Regarding claim 3, Whitnah nor Zhao teach the operations further comprising: generating the individual weights using a machine learning (ML) model.
However, Wang teaches the operations further comprising: generating the individual weights using a machine learning (ML) model ([0068] Turning now to FIG. 6, there is illustrated a flowchart for a process 600 associated with network improvement with reinforcement learning in accordance with one or more embodiments described herein. At 602, various KPI statistics of various data traffic flows can be monitored (e.g., by the KPI component 110). It is noted that such KPIs herein can comprise numbers of users, packet loss, jitter, traffic volume (e.g., number of bits), active users, throughput, waiting time, latency, or other suitable metrics/KPIs. At 604, 5QI weights (e.g., optimal 5QI weights) can be determined (e.g., by the scheduling weight component 116 using the ML component 114). At 606, the 5QI weights can be provided to a scheduler (e.g., assignment component 118) in order to adjust resource allocation for the data traffic flows. At 608, performance can be monitored (e.g., by a network optimization component 404) for use in 5QI weight improvement and/or network planning. It is noted that network performance herein is generally measured using throughput, sojourn time, or latency, though other suitable performance metrics can be utilized. In this regard, observed network performance can be utilized for improvement of assignment of weights and/or resource allocation. It is noted that the foregoing can be performed, for instance, according to a time interval (e.g., every one minute, every ten minutes, every hour, or at another suitable interval).).
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 Wang with the teachings of Whitnah and Zhao to utilize a machine learning model to determine resource allocations. The modification would have been motivated by the desire of combining known methods to yield predictable results.
Regarding claim 13, it is a system claim having similar limitations as claim 1 above. Therefore, it is rejected under the same rationale above.
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over Whitnah and Zhao, in further view of Chin et al. (US 2019/0007336 A1).
Regarding claim 8, Whitnah and Zhao do not expressly teach the operations further comprising: applying a decay factor to at least one individual score of the set of individual scores.
However, Chin teaches the operations further comprising: applying a decay factor to at least one individual score of the set of individual scores (Abstract: Implementing a fair share of resources among one or more scheduling peers. Resource allocations are received for a plurality of scheduling peers. For each scheduling peer, a usage percentage difference is determined between their respective usage percentage and configured share ratio. For a first competing peer that is served more than a second competing peer, resource allocation is adjusted such that resources from the first competing peer are allocated to the second competing peer based, at least in part, on a time decay factor function that gives less weight to the usage percentage difference as an age of the usage percentage difference increases).
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 Chin with the teachings of Whitnah and Zhao to adjust resources as time goes by. The modification would have been motivated by the desire of adjusting allocation based on time to ensure fairness in resource allocation among peers.
Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over Whitnah and Zhao, in further view of Rendle et al. (US 2017/0236072 A1).
Regarding claim 9, Whitnah nor Zhao expressly teach the operations further comprising: deprioritizing the application after a grace period.
However, Rendle teaches the operations further comprising: deprioritizing the application after a grace period ([0039] Preemptible VMs: The cloud scheduler is free to preempt a low-priority VM in favor of a higher-priority one. All of a VM's state is lost when it is preempted. However, a notification is sent to a VM before it is preempted. This includes a grace period that is long enough for the application to save its state to the DFS for fault tolerance, if necessary.).
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 Rendle of allocating resources from a lower priority application/VM to a higher priority application/VM, but before, allowing the first to save its state. The modification would have been motivated by the desire of ensuring the state of the application is not lost if it needs to resume at a later point.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JORGE A CHU JOY-DAVILA whose telephone number is (571)270-0692. The examiner can normally be reached Monday-Friday, 6:00am-5:00pm.
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, Aimee J Li can be reached at (571)272-4169. 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.
/JORGE A CHU JOY-DAVILA/Primary Examiner, Art Unit 2195