DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 1-20 are pending.
Claim Objections
Claim 8 is objected to because of the following informalities:
-- for: for a first -- should be -- for: .
Appropriate correction is required.
Drawing
The drawings are objected to because of the following minor informalities:
-- arrow for selected state is starting from a state that is not selected i.e. 1120 corresponds to SC while 1110 corresponds to PA -- in fig. 11.
Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. The figure or figure number of an amended drawing should not be labeled as “amended.” If a drawing figure is to be canceled, the appropriate figure must be removed from the replacement sheet, and where necessary, the remaining figures must be renumbered and appropriate changes made to the brief description of the several views of the drawings for consistency. Additional replacement sheets may be necessary to show the renumbering of the remaining figures. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
Claims 1-20 are rejected under 35 U.S.C. 112 (b) as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or joint inventor regards as the invention.
The following claim language is not clearly understood:
Claim 1 recites “application comprise a plurality of service”. It is unclear what is the distinction between the application and service.
Claim 1 recites “total memory usage”. It is unclear if the total memory usage of what e.g. the system on which the first /second / services is running and if these application running on same or different computing system. It is also unclear if the total is referring to the memory usage by the first application, plurality of services and second application or plurality of services only or all i.e. first application, second application, plurality of services.
Claim 3 recites “associated service attributes determine when usage of the service is counted in usage rate”. It is unclear what attributes would indicate counting in usage rate and what attributes would indicate not counting in usage rate.
Claims 8 and 15 recite elements of claim 1 and have similar deficiency as claim 1. Therefore, they are rejected for the same rational. Remaining dependent claims 2-7, 9-14 and 16-20 are also rejected due to similar deficiency inherited from the rejected independent claims.
* Applicant is advised to amend the claims, or to at least indicate support present in the specification for further defining/clarifying the claim language in case Applicant believe amendments would unduly narrow the scope of the claim.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 8-14 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter.
Claim 8 is rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. Independent claim 8 recites a “computer program product, the computer program product comprising a computer readable storage medium”. Computer readable storage medium could be any set of one or more storage devices that collectively include machine readable code. Without limitations, computer readable medium may be an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, a mechanical storage medium, or any suitable combination of the foregoing, according to the specification ([0028] in pub. app.) . The broadest reasonable interpretation of a claim drawn to a “computer program product comprising computer readable medium without limitations” may be entirely made of software, hardware or combination of software and hardware. Computer program product made entirely of software doesn’t fall within the four statutory subject matter category. Therefore, claim 8 is rejected under 35 USC 101.
Claims 9-14 are dependent claims of claim 8 and do not cure the deficiency of the independent claim. Therefore, they are rejected for the same reason.
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-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Tanase et al. (US 12,321,389 B1, hereafter Tanase) in view of Uola et al. (US 2012/0072913 A1, hereafter Uola), and further in view of Kao (US 2022/0291980 A1, hereafter Kao).
As per claim 1, Tanase teaches the invention substantially as claimed including a computer-implemented method, comprising operations for:
for a first application that is executing, wherein the first application comprises a plurality of services (fig. 1 database service 110 VM 124 col 6 lines 20-25 launch VM images, database pre-installed col 6 lines database service 110 configure, host, and/manage number of different VMs 124 for different datasets), monitoring a usage rate and a memory usage of each service of the plurality of services (col 13 lines 22-26 monitor memory usage, individual systems/VMs col 12 lines 22-25 col 13 lines 35-40 application running in JVM);
receiving a request to start a second application (fig. 1 101 configure database 128 col 4 lines 23-65 request, configure, datasets, database service 110 establish datasets, load dataset into the database service, receive various requests col 5 lines 25-35 computing resource service provider 102, provide various services, such as software applications col 13 lines 35-40 application running in JVM col 18 lines 55-67 several application servers); and
in response to determining that starting the second application would result in a total memory usage exceeding a threshold (fig. 4 determine not enough memory available to grant request based on MAX_MEM 410; fig. 5 502 504-No col 5 lines 25-35 computing resource service provider 102, provide various services, such as software applications col 13 lines 35-40 application running in JVM col 18 lines 55-67 several application servers), assigning priorities to each service of the plurality of services based on the usage rate (fig. 2 priority policy 220 col 10 lines 51-67 threads, processed, order, first come first serve, earliest deadline, earliest completion time col 11 lines 1-5 least demanding type, threads do not have pending deadline or operation that are of not high importance, priority policy, metadata or information included in the thread, );
selecting one or more services of the plurality of services based on the priorities and the memory usage of each service (col 10 lines 51- 67 priority policy 220 determining which threads are processed and in what order, memory resources are limited col 11 line 1- 17 priority policy 220 resource requirement col 13 lines 8-11 scheme, temporarily block threads from being processed; fig. 5 select thread based on priority policy 514);
disabling a User Interface (UI) element of each one of the selected one or more services;
reducing an amount of memory allocated to the first application (col 13 lines 20-22 total physical memory available to the application is reduced; fig. 5 518); and
starting the second application (fig. 4 410 422 allocate memory 426; fig. 6 604- allocate memory to satisfy request 612 ).
Tanase doesn’t specifically teach monitoring usage rate of each service; assigning priority to each service based on usage rate; disabling a User Interface (UI) element of each one of the selected one or more services.
Uola, however, teaches monitoring usage rate of each service (fig. 1 monitor module 105c [0034] monitors and gather information about any running web applications [0035] data specifying how frequently the application is used);
assigning priority to each service based on usage rate ([0058] fig. 3A app id 301 use frequency 309 importance 311 application importance ranking assigned to specific application [0052] application usage frequency 309, application importance 311; fig. 4A determine, executing the application based at least in part on the one or more characteristic of an application 403; fig. 4B 407 409 compare characteristics 411 determine to execute an application based on the comparison 413 i.e. prioritizing based on characteristics);
disabling a User Interface (UI) element of each one of the selected one or more services.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the invention was made to combine the teachings of Tanase with the teachings of Uola of gathering information of how frequent the application is being used, comparing application characteristics e.g. frequency of use to determine which application execute to improve efficiency and allow monitoring usage rate of each service; assigning priority to each service based on usage rate to the method of Tanase as in the instant invention. The combination would have been obvious because assigning priority based on comparison of frequency of use with the teachings of Tanase to yield predictable result and improved memory utilization efficiency.
Tanase and Uola, in combination, do not specifically teach disabling a User Interface (UI) element of each one of the selected one or more services.
Kao, however, teaches disabling a User Interface (UI) element of each one of the selected one or more services ([0008] applications, include display features, degrade and/or deactivate one or more application features of the application; fig. 2 application feature, menu list, content stream, action: deactivate).
It would have been obvious to one of ordinary skills in the art before the effective filing date of the invention was made to combine the teachings of Tanase and Uola with the teachings of Kao of deactivating one or more application features e.g. display, menu list, content stream to improve efficiency and allow disabling a User Interface (UI) element of each one of the selected one or more services to the method of Tanase and Uola as in in the instant invention. The combination would have been obvious because degrading/deactivating application feature e.g. display, menu list, stream associated with memory reduction action to the method of Tanase and Kao to yield predictable results and improve memory utilization.
As per claim 2, Tanase teaches in response to determining that the total memory usage is less than or equal to the threshold (col 13 lines 15- 20 current memory usage goes below a certain threshold), enabling the UI element of each one of the selected one or more services (col 3 lines 13-27 memory is freed, available, blocked/waiting threads are, notified, threads, activated, priority); and
increasing the amount of memory allocated to the first application (col 7 lines 27-37 scaling service, automatically, changes in usage or need of the different VMs , enable seamless and efficient scaling of resources in allocating memory to process different threads ).
Kao teaches remaining claim elements of the UI element of services (fig. 2 menu list, content stream ).
As per claim 3, Tanase teaches wherein each service of the plurality of services has associated service attributes (col 4 lines 45-55 request, include parameters, identifiers or pointers, data storage service col 8 lines dataset, stored, database / data storage service, request specify identifier including IP address, resource name), and wherein the associated service attributes determine when usage of the service is counted in the usage rate ( col 4 lines 45-55 request, include parameters, identifiers or pointers, data storage service col 8 lines dataset, stored, database / data storage service, request specify identifier including IP address, resource name i.e. service that are identified in the request would be considered for usage and services that are not identified is not considered for usage).
As per claim 4, Kao teaches further comprising operations for: creating a hierarchical structure from the plurality of services, wherein the hierarchical structure comprises a higher-level service and a lower-level service (fig. 2 hierarchical table of application features, first/ second/ Third tier application features).
As per claim 5, Kao teaches wherein selecting one or more of the services comprises selecting the lower-level service to disable ([0009] highest tier application features, excluded from degradation/deactivation, non-essential tiers, available for degradation and/or deactivation [0013] degrade and/or deactivate a lower tiered set of application features (e.g., non-essential features).
As per claim 6, Kao teaches wherein, in response to execution of the lower-level service ending ( [0008] applications, include display features, degrade and/or deactivate one or more application features of the application; fig. 2 application feature, menu list, content stream, action: deactivate), returning processing control to the higher-level service ([0032] application manager 140, perform lookup for application feature, implement memory reduction action [0037]).
As per claim 7, Kao teaches wherein the UI element of each one of the selected one or more services comprises a pre-defined UI element or a custom UI element [0008] applications, include display features, degrade and/or deactivate one or more application features of the application; fig. 2 application feature, menu list, content stream i.e. pre-defined UI elements, action: deactivate).
Claim 8 recites computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform operations for elements similar to claim 1. Therefore, it is rejected for the same rationale.
Claim 9 recites elements similar to claim 2. Therefore, it is rejected for the same rationale.
Claim 10 recites elements similar to claim 3. Therefore, it is rejected for the same rationale.
Claim 11 recites elements similar to claim 4. Therefore, it is rejected for the same rationale.
Claim 12 recites elements similar to claim 5. Therefore, it is rejected for the same rationale.
Claim 13 recites elements similar to claim 6. Therefore, it is rejected for the same rationale.
Claim 14 recites elements similar to claim 7. Therefore, it is rejected for the same rationale.
Claim 15 recites computer system, comprising: one or more processors, one or more computer-readable memories and one or more computer-readable, tangible storage devices; and program instructions, stored on at least one of the one or more computer-readable, tangible storage devices for execution by at least one of the one or more processors via at least one of the one or more computer-readable memories, to perform operations comprising elements similar to claim 1. Therefore, it is rejected for the same rationale.
Claim 16 recites elements similar to claim 2. Therefore, it is rejected for the same rationale.
Claim 17 recites elements similar to claim 3. Therefore, it is rejected for the same rationale.
Claim 18 recites elements similar to claim 4. Therefore, it is rejected for the same rationale.
Claim 19 recites elements similar to claim 5. Therefore, it is rejected for the same rationale.
Claim 20 recites elements similar to claim 6. Therefore, it is rejected for the same rationale.
Examiners Note
Applicant is further reminded of that the cited paragraphs and in the references as applied to the claims above for the convenience of the applicant(s) and although the specified citations are representative of the teachings of the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested from the applicant in preparing responses, to fully consider all of the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ABU ZAR GHAFFARI whose telephone number is (571)270-3799. The examiner can normally be reached on Monday-Thursday 9:00 - 17:00 Hrs.
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 Lee can be reached on 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 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.
/ABU ZAR GHAFFARI/Primary Examiner, Art Unit 2195