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 .
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 12,277,448. Although the claims at issue are not identical, they are not patentably distinct from each other because all limitations in the instant application are recited by the parent patent.
For better comparison of the similarity of the claims, a table is present below.
Claim
Instant application
Parent Patent
1
A computer implemented method for managing hosted computing resource usage by applications comprising:
A computer implemented method for managing hosted computing resource usage by applications comprising:
intercepting, with a software program executing on a computer, computing requests by a software application executing on at least one of a plurality of computing resources, the software application associated with one or more usage costs which relate use of the computing resources to a cost of executing said software application on the at least one of the plurality of computing resources;
intercepting, with a software program executing on a computer, computing requests by a software application executing on at least one of a plurality of computing resources associated with a first hosting provider, the software application associated with a first hosting plan which relates use of the computing resources to a cost of executing said software application on the at least one of the plurality of computing resources;
implementing, with the software program, a delay for one or more of the computing requests which were intercepted from the software application such that by implementing the delay the software program causes one or more of the computing requests intercepted from the software application to be executed at a later time and such that by implementing the delay the software program causes one or more parameters of use of the computing resources for the software application to remain below one or more thresholds in order to reduce the cost of executing said software application on the at least one of the plurality of computing resources.
implementing, with the software program, a delay for one or more of the computing requests which were intercepted from the software application such that by implementing the delay the software program causes one or more of the computing requests intercepted from the software application to be executed at a later time and such that by implementing the delay the software program causes one or more parameters of use of the computing resources for the software application to remain below one or more thresholds in order to reduce the cost of executing said software application on the at least one of the plurality of computing resources, wherein the first hosting plan relates the one or more parameters of use to the cost.
2
wherein the one or more parameters of use are selected from the group consisting of bandwidth, disk, memory (RAM) and processing (CPU).
wherein the one or more parameters of use are selected from the group consisting of bandwidth, disk, memory (RAM) and processing (CPU).
3
wherein the one or more thresholds are indicative of a total amount of usage of the one or more parameters for a defined period of time.
wherein the one or more thresholds are indicative of a total amount of usage of the one or more parameters for a defined period of time.
4
wherein the software program is part of the software application.
wherein the software program is part of the software application.
5
further comprising delaying the one or more of the computer request in accordance with the delay.
further comprising delaying the one or more of the computer request in accordance with the delay.
6
wherein the threshold is set based on instructions from a controller computer via a network based on data received from the software program concerning one or more implemented delays and performance of the software program with the one or more implemented delays.
wherein the threshold is set based on instructions from a controller computer via a network based on data received from the software program concerning one or more implemented delays and performance of the software program with the one or more implemented delays.
7
further comprising, determining that a minimum performance level cannot be met with the delay and then changing the threshold.
further comprising, determining that a minimum performance level cannot be met with the delay and then changing the first hosting plan or the threshold.
8
wherein the computer is one of the plurality of computing resources.
wherein the computer is one of the plurality of computing resources.
9
A system for managing hosted computing resource usage by applications comprising:
A system for managing hosted computing resource usage by applications comprising:
a software program executing on a computer, the software program intercepts computing requests by a software application executing on at least one of a plurality of computing resources associated with a first hosting provider, the software application associated with one or more usage costs which relate use of the computing resources to a cost of executing said software application on the at least one of the plurality of computing resources;
a software program executing on a computer, the software program intercepts computing requests by a software application executing on at least one of a plurality of computing resources associated with a first hosting provider, the software application associated with a first hosting plan which relates use of the computing resources to a cost of executing said software application on the at least one of the plurality of computing resources;
the software program implementing a delay for one or more of the computing requests which were intercepted such that by implementing the delay the software program causes one or more of the computing requests intercepted from the software application to be executed at a later time and such that by implementing the delay the software program causes one or more parameters of use of the computing resources remain below one or more thresholds in order to reduce the cost of executing said software application on the at least one of the plurality of computing resources.
the software program implementing a delay for one or more of the computing requests which were intercepted such that by implementing the delay the software program causes one or more of the computing requests intercepted from the software application to be executed at a later time and such that by implementing the delay the software program causes one or more parameters of use of the computing resources remain below one or more thresholds in order to reduce the cost of executing said software application on the at least one of the plurality of computing resources.
10
the software program delaying the one or more of the computer request in accordance with the delay so that use of the computing resources remain below the one or more thresholds but above a minimum performance level for the software application.
the software program delaying the one or more of the computer request in accordance with the delay so that use of the computing resources remain below the one or more thresholds associated with the first hosting plan but above a minimum performance level for the software application.
11
wherein said software program modifies the one or more thresholds if the software program determines that a minimum performance level for the software application cannot be met with the delay.
wherein said software program modifies the first hosting plan if the software program determines that a minimum performance level for the software application cannot be met with the delay.
12
wherein the minimum performance level is a multiple of an average or median load time for one or more categories of requests.
wherein the minimum performance level is a multiple of an average or median load time for one or more categories of requests.
13
wherein the one or more thresholds are usage thresholds indicative of a limit on cost.
wherein the one or more thresholds are usage thresholds indicative of a limit on cost.
14
wherein the one or more thresholds are a limit on bandwidth, disk, memory, processing or combinations thereof.
wherein the one or more thresholds are a limit on bandwidth, disk, memory, processing or combinations thereof.
15
wherein the delay is based on historical usage of computing resources by the software application.
wherein the delay is based on historical usage of computing resources by the software application.
16
A system for managing hosted computing resource usage by applications comprising:
A system for managing hosted computing resource usage by applications comprising:
a software program executing on a computer, the software program intercepts a plurality of computing requests by a software application executing on at least one of a plurality of computing resources associated with a first hosting provider, the software application associated with one or more usage costs which relate use of the computing resources to a cost of executing said software application on the at least one of the plurality of computing resources;
a software program executing on a computer, the software program intercepts a plurality of computing requests by a software application executing on at least one of a plurality of computing resources associated with a first hosting provider, the software application associated with a first hosting plan which relates use of the computing resources to a cost of executing said software application on the at least one of the plurality of computing resources;
the software program determining a delay for two or more of the plurality of computing requests so that one or more parameters of use of the computing resources remain below one or more thresholds, the delay determined based on the plurality of computing requests being within a range of times such that un-delayed execution of the plurality of computing requests would overlap, the delay resulting in the software program implementing the two or more of the plurality of computing requests such that at least one of the two or more of the plurality of computing requests starts at a later time as compared to without the delay.
the software program determining a delay for two or more of the plurality of computing requests so that one or more parameters of use of the computing resources remain below one or more thresholds associated with the first hosting plan, the delay determined based on the plurality of computing requests being within a range of times such that un-delayed execution of the plurality of computing requests would overlap, the delay resulting in the software program implementing the two or more of the plurality of computing requests such that at least one of the two or more of the plurality of computing requests starts at a later time as compared to without the delay.
17
wherein the two or more of the plurality of computing requests are selected by the software program based on a threshold associated with a maximum bandwidth.
wherein the two or more of the plurality of computing requests are selected by the software program based on a threshold associated with a maximum bandwidth.
18
wherein the maximum bandwidth is modified based on a contribution to the cost of executing said software application on the at least one of the plurality of computing resources, the contribution being associated with parameters of use other than bandwidth.
wherein the maximum bandwidth is modified based on a contribution to the cost of executing said software application on the at least one of the plurality of computing resources, the contribution being associated with parameters of use other than bandwidth.
19
wherein the one or more thresholds are received from a controller computer which is in communication with the software program via a network.
wherein the one or more thresholds are received from a controller computer which is in communication with the software program via a network.
20
wherein the computer is one of the plurality of computing resources.
wherein the computer is one of the plurality of computing resources.
Allowable Subject Matter
The following is a statement of reasons for the indication of allowable subject matter:
Independent claim 1 recites the following allowable subject matter: “implementing, with the software program, a delay for one or more of the computing requests which were intercepted from the software application such that by implementing the delay the software program causes one or more of the computing requests intercepted from the software application to be executed at a later time and such that by implementing the delay the software program causes one or more parameters of use of the computing resources for the software application to remain below one or more thresholds in order to reduce the cost of executing said software application on the at least one of the plurality of computing resources.”
Closest prior art Agrawal et al. [US 2021/0294645 A1] appears to teach a method includes maintaining a set of state provider definitions, wherein each state provider definition comprising a set of required input variable definitions, a set of output variable definitions and related metadata.
Zhou et al. [US 2021/0011772 A1] appears to teach a method of a process management system that improves memory management and resource utilization on host devices that utilize a pre-fork worker process model (e.g., uWSGI).
However, the prior arts of record do not appear to clearly teach or fairly suggest a delay for one or more of the computing requests which were intercepted from the software application such that by implementing the delay the software program causes one or more of the computing requests intercepted from the software application to be executed at a later time and such that by implementing the delay the software program causes one or more parameters of use of the computing resources for the software application to remain below one or more thresholds in order to reduce the cost of executing said software application on the at least one of the plurality of computing resources. Based on this rationale, claim 1 and its dependent claims 2-8 are allowable.
Independent claim 9 recites the following allowable subject matter: “the software program implementing a delay for one or more of the computing requests which were intercepted such that by implementing the delay the software program causes one or more of the computing requests intercepted from the software application to be executed at a later time and such that by implementing the delay the software program causes one or more parameters of use of the computing resources remain below one or more thresholds in order to reduce the cost of executing said software application on the at least one of the plurality of computing resources.”
Closest prior art Agrawal et al. [US 2021/0294645 A1] appears to teach a method includes maintaining a set of state provider definitions, wherein each state provider definition comprising a set of required input variable definitions, a set of output variable definitions and related metadata.
Zhou et al. [US 2021/0011772 A1] appears to teach a method of a process management system that improves memory management and resource utilization on host devices that utilize a pre-fork worker process model (e.g., uWSGI).
However, the prior arts of record do not appear to clearly teach or fairly suggest implementing the delay the software program causes one or more of the computing requests intercepted from the software application to be executed at a later time and such that by implementing the delay the software program causes one or more parameters of use of the computing resources remain below one or more thresholds in order to reduce the cost of executing said software application on the at least one of the plurality of computing resources. Based on this rationale, claim 9 and its dependent claims 10-15 are allowable.
Independent claim 16 recites the following allowable subject matter: “the software program determining a delay for two or more of the plurality of computing requests so that one or more parameters of use of the computing resources remain below one or more thresholds, the delay determined based on the plurality of computing requests being within a range of times such that un-delayed execution of the plurality of computing requests would overlap, the delay resulting in the software program implementing the two or more of the plurality of computing requests such that at least one of the two or more of the plurality of computing requests starts at a later time as compared to without the delay.”
Closest prior art Agrawal et al. [US 2021/0294645 A1] appears to teach a method includes maintaining a set of state provider definitions, wherein each state provider definition comprising a set of required input variable definitions, a set of output variable definitions and related metadata.
Zhou et al. [US 2021/0011772 A1] appears to teach a method of a process management system that improves memory management and resource utilization on host devices that utilize a pre-fork worker process model (e.g., uWSGI).
However, the prior arts of record do not appear to clearly teach or fairly suggest the delay determined based on the plurality of computing requests being within a range of times such that un-delayed execution of the plurality of computing requests would overlap. Based on this rationale, claim 16 and its dependent claims 17-20 are allowable.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MASUD K KHAN whose telephone number is (571)270-0606. The examiner can normally be reached Monday-Friday (8am-5pm).
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, Hosain Alam can be reached at (571) 272-3978. 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.
/MASUD K KHAN/ Primary Examiner, Art Unit 2132