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 .
This final office action is responsive to the amendments filed on 04/10/2026.
Claims 1-20 are pending.
Response to Amendment
Applicant has amended independent claims 1, 8, 15 and dependent claims 2-3, 9-10, 16-17 to include new/old limitations in a form not previously presented necessitating new search and considerations.
Claim Objections
Claim 1, 8 and 15 are objected to because of the following informalities:
-- usage the first application -- should be -- usage of the first application -- in claims 1, 8 and 15,
Appropriate correction is required.
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 “first memory usage comprising the memory usage for the service of the plurality of the services that uses a highest amount of memory”. It is unclear if the service is using the highest amount or not.
Claim 1 recites “receiving a request to start a second application, wherein the second application has a second memory usage”. It is unclear if second application also has plurality of services and the usage correspond to the one of the plurality of services of the second application.
Claim 1 recites “disabling …services…” and further recites “reducing the first memory usage”. It is unclear what constitutes the reducing the memory usage i.e. if this is in addition to the disabling services.
Claim 2 recites “ determining first memory usage and the second memory usage is less than or equal to the maximum memory amount”. It is unclear if the total / combined first and second memory usage or first and second usage separately less than or equal to the maximum memory amount.
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.
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 Kao (US 2022/0291980 A1, hereafter Kao) in view of Tanase et al. (US 12,321,389 B1, hereafter Tanase), and further in view of Uola et al. (US 2012/0072913 A1, hereafter Uola).
Kao, Tanase and Uola were cited in the last office action.
As per claim 1, Kao teaches the invention substantially as claimed including a computer-implemented method, comprising operations for:
determining that a maximum memory amount from a memory of an edge device for executing multiple applications ([0007] computing device, executing, one or more applications [0010] amount of total memory, computing device; memory usage for the executing application);
for a first application that is executing, wherein the first application comprises a plurality of services ([0008] executing application, comprise, set of features [0015] executing application, navigation application, features i.e. services, live map content, guided trajectory; fig. 2 Apps 205 App1-features 210, 220, 230), monitoring a memory usage of the plurality of services ([0007] monitor, historical memory usage data, set of memory usage metrics [0010] dynamically monitors, current memory usage, executing application),
wherein the first application provides a User Interface (UI) element for each service of the plurality of services ([0019] executing application, service, service include, features, map content, times, selectable buttons or menu items, selectable map features), and wherein the first application has a first memory usage comprising the memory usage of the plurality of services ([0007] monitor, historical memory usage data, set of memory usage metrics, computing device, executing, one or more applications [0010] dynamically monitors, current memory usage, executing application, amount of total memory, computing device; memory usage for the executing application [0011] determine whether the executing application will exceed the critical memory usage threshold);
wherein the second application has a second memory usage ([0007] monitor, historical memory usage data, set of memory usage metrics, computing device, executing, one or more applications); and
in response to determining that the second application would result in the first memory usage and the second memory usage exceeding the maximum memory amount ([0007] monitor, set, memory usage, metrics, computing device, executing one or more applications, predict whether memory usage will exceed a critical memory threshold ),
assigning priorities to each service of the plurality of services ([0035] prioritize which features are essential, essential but may be degraded, not essential and may be degraded and/or deactivated);
selecting one or more services of the plurality of services based on the priorities and the memory usage of each service ([0035] prioritize, features, essential, non-essential [0036] memory usage warning, only degrade a first set of non-essential application features, and/or deactivate certain non-essential features);
disabling the selected one or more services by disabling a UI element of each one of the selected one or more services ([0036] memory usage warning, only degrade a first set of non-essential application features, and/or deactivate certain non-essential features [0042] memory reductions action, deactivation of the voice commands, reduction of the menu list (i.e. UI elements) e.g. eliminating low priority items [0019] executing application, features, selectable buttons or menu items);
reducing the first memory usage the first application based on the disabled one or more services ([0036] degrade, features, memory usage reduction actions [0042] App1, perform specified memory reduction action on the feature, reduction of the menu list [0019] executing application, features, selectable buttons or menu items).
Kao doesn’t specifically teach determining that a maximum memory amount has been allocated; monitoring a usage rate and a memory usage of each service of the plurality of services; memory usage for the service that uses a highest amount of memory; receiving a request to start a second application; determining that starting the second application would exceeding the maximum memory amount; assigning priority based on the usage rate; starting the second application.
Tanase, however, teaches determining that a maximum memory amount has been allocated from a memory of an edge device for executing multiple applications (col 2 lines 59-67 memory allocator, maximum managed memory, allocated, separately for individual threads / requests, allocator, allocate, up to the specified memory size; col 3 lines 1-5 limit the memory usage; maximum memory that is available to the system i.e. total allocated memory can be computed );
monitoring a memory usage of each service of the plurality of services (col 12 lines 22-30 resource usage data of VM, memory being used col 13 lines 22-25 monitor memory usage, individual systems, VMs; col 3 lines 1-5 limit the memory usage of certain threads; col 22 lines 10-20 system, and various devices, include number of software applications, modules, services);
memory usage for the service of the plurality of services that uses a highest amount of memory (col 12 lines 22-30 resource usage data of VM, memory being used col 13 lines 12-17 resource usage, memory, current memory usage, goes above a threshold 22-25 monitor memory usage, individual systems, VMs; col 3 lines 1-5 limit the memory usage of certain threads);
receiving a request to start a second application (fig. 1 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 13 lines 35-40 application running in JVM col 18 lines 55-67 several application servers col 16 lines 65-67 obtain request to use specified amount of memory from a thread);
determining that starting the second application would result in the first memory usage and the second memory usage exceeding the maximum memory amount (col 17 lines 1-10 not enough available memory to satisfy the request, comparing the requested memory associated with the request to maximum available memory of the system, limited by a maximum managed memory value or MAX_MEM value; block the thread);
starting the second application (col 17 lines 10-25 more memory has become available, other thread completing /releasing a portion of memory, enough to satisfy the request, unblock the request, thread may resubmit the request, request, satisfied).
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 Kao with the teachings of Tanase of maximum managed memory allocated separately for individual threads /, up to the specified memory size; maximum memory that is available to the system i.e. total allocated memory can be computed, monitoring memory used by the individual system /VMs that exceeds the predetermined threshold, obtain request from a thread to use specified amount of memory, block the thread if sufficient memory is not available, unblock the request if sufficient resource is available based on resources released by other threads to improve efficiency and allow determining that a maximum memory amount has been allocated; monitoring a usage rate and a memory usage of each service of the plurality of services; memory usage for the service that uses a highest amount of memory; receiving a request to start a second application; determining that starting the second application would exceeding the maximum memory amount; assigning priority based on the usage rate; starting the second application to the method of Kao as in in the instant invention.
The combination would have been obvious because method of monitoring the memory usage of individual system /VM; determining VM with highest resource usage, blocking the request for memory resources from a thread until sufficient resource is available as a result of either another thread finishing the request or releasing portion of the request as taught by Tanase to the method of Kao to yield expected results and improve memory utilization.
Kao and Tanase, in combination, do not specifically teach monitoring usage rate of each service; assigning priority based on the usage rate.
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).
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 Kao and 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 Kao and Tanase as in the instant invention.
The combination would have been obvious because monitoring assigning priority based on monitoring frequency of use of an application with the teachings of Kao and Tanase to yield predictable result and improved memory utilization efficiency.
As per claim 2, Kao teaches operations for: enabling the one or more selected services by enabling the UI element of each one of the selected one or more services ([0019] application, features, timers, selectable buttons or menu items, selectable map features [0042] memory reduction action, deactivation, voice commands, reduction of menu list - i.e. also indicate enabling action).
Tanase teaches remaining claim elements of in response to determining that the first memory usage and the second memory usage is less than or equal to the maximum memory amount (col 2 lines 57-67 maximum managed memory size MAX_MEM, allocated, separately for individual threads /requests col 3 lines 1-5: limit the memory usage for certain threads ; col 13 lines 15- 20 current memory usage goes below a certain threshold), enabling the one or more selected 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 (fig. 4 increase memory resource allocation for existing system 416).
As per claim 3, Kao teaches wherein each service of the plurality of services has associated service attributes ([0019] transport service application, memory intensive features, timers, buttons, menu items, map features), and wherein a pause trigger service attribute of the associated service attributes indicates whether usage of the service is counted in the usage rate based on whether the service is paused ([0014] application features, selectively degraded or deactivated [0018] [0020] memory reduction action ).
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),
Tanase teaches remaining claim elements of returning processing control to the higher-level service (col 17 lines 10-25 more memory has become available, other thread completing /releasing a portion of memory, enough to satisfy the request, unblock the request, thread may resubmit the request, request, priority, satisfied).
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.
Response to Arguments
The previous objections to the claims have been withdrawn.
The previous objections to drawings have been withdrawn.
The previous objections under 35 USC 112(b) have been withdrawn.
The previous objections under 35 USC 101 has been withdrawn.
Applicant's arguments filed on 04/10/2026 have been fully considered but they are moot in view of new ground of rejection.
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
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Dalmia; Kushal et al. (US 11301296 B2) teaches memory management based on classification of a software process
Ramarao; Shreenidhi et al. (US 9497136 B1) teaches method and system for providing usage metrics to manage utilization of cloud computing resources
Toal; Brian (US 20180276042 A1) teaches technologies for identifying thread memory allocation
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 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