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 non-final office action is responsive to the RCE filed on 07/13/2026.
Claims 1-2, 4, 10-13, 15, 21-32 are pending.
Response to Amendment
Applicant has amended independent claims 1, 11, 12 and dependent claims 2, 4, 10, 13, and 15 to include new/old limitations in a form not previously presented necessitating new search and considerations. Previous claims 3, 5-9, 14 and 16-20 are cancelled, and new claims 21-32 are added by the applicant.
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-2, 4, 10-13, 15, 21-32 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 requirement is the first amount of computing resource occupied by a first process”, and later recites “second resource requirement of the first process”. It is unclear if there is any relationship between the first requirement / resource occupied and second resource requirements and/or relationship between the states of the first process at the two occurrence/instant i.e. when occupying the first amount and the second amount.
Claim1 recites “data information status of the first process”. It is unclear if the status is referring to the status of the first process or status of the data.
Claims 11 and 12 recite elements of claim 1 and have similar deficiency as claim 1. Therefore, they are rejected for the same rationales. Remaining dependent claims 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-2, 4, 11-13, 15, 22-23, 25-32 is/are rejected under 35 U.S.C. 103 as being unpatentable over Levin et al. (US 2021/0191776 A1, hereafter Levin) in view of Li et al. (US 2018/0365050 A1, hereafter Li), and further in view of Duan et al. (CN-111679900-A, hereafter Duan).
Levin was cited in the last office action.
As per claim 1, Levin teaches the invention substantially as claimed including a memory management method comprising ([0019] memory management):
obtaining a first resource requirement of a second process ([0029] process is in waiting state, memory resource is needed [0027] processes in operating system [0083] resource management unit, knows what memory each process will use, how much memory is needed), wherein a first amount of computing memory resource occupied by a first process ( [0027] information associated with the process, captured, process, resource usage data, memory usage data i.e. occupied [0029] process, memory resource is needed);
when a first process state of the first process is an state ([0027] process data, status of that process [0028] process, state of process, new, ready, running, waiting, terminated; fig. 6 process state), when the first process state has been the state for at least a time ([0034] process run-time remaining i.e. indicates how long the process has been running ), and based on the second process having the first resource requirement for the first amount of computing memory resource ([0029] process is in waiting state, memory resource is needed [0027] processes in operating system [0083] how much memory is needed):
allocating non-memory storage space for storing process information of the first process for use in a subsequent swap-in of process data of the first process ([0028] process, process control block, stores (i.e. allocation of storage) process-specific information, for swapping the process in and out of the processor [0059] fig. 6 memory 108 104 process control block 14 2 [0045] memory 104 /108 provide persistent storage, non-volatile memory, fixed and removable media devices, SSD, HDD [0031] secondary storage 124 non-volatile memory, HDD), wherein the process information comprises at least one of a process identifier of the first process ([0028] process-specific information, process control block, process identification), a time for which the first process has been in the state ([0027] process data, status of that process [0028] process, state of process, new, ready, running, waiting, terminated; fig. 6 process state [0034] process run-time remaining i.e. indicates how long the process has been running), or a data information status of the first process ([0027] process data, status of that process [0028] process, state of process, new, ready, running, waiting, terminated, process-specific information, accounting data e.g. processor time consumed, input/output status data; fig. 6 process state);
storing the process information of the first process in the non-memory storage space ([0028] process, process control block, stores process-specific information, for swapping the process in and out of the processor [0059] fig. 6 memory 108 104 process control block 14 2 [0045] memory 104 /108 provide persistent storage, non-volatile memory, fixed and removable media devices, SSD, HDD [0031] secondary storage 124 non-volatile memory, HDD);
changing the first process state from the state to a swapped-out state ([0028] swapping the process in and out of the processor [0079] copying an entire process address space out to a swap device such as secondary memory storage 124 ); and
swapping out the process data of the first process from the first amount of computing memory resource to the non-memory storage space ([0079] swapping, copying an entire process address space out to a swap device, such as the secondary storage 124 [0081] process, memory swapped out, between the memory 108 and secondary storage 124), thereby releasing the first amount of computing memory resource ([0081] move the memory content out to the secondary storage 124 to free up the memory 108), wherein the released first amount of computing memory resource forms at least a portion of a released first system resource ([0081] move the memory content out to the secondary storage 124 to free up the memory 108); and
when the first system resource satisfies a second resource requirement of the first process ([0029] process, waiting state, more resource needed, freeing memory, process may move from the wait state to the ready state for execution [0081] process requires memory content to be swapped in) and the first process state is the swapped-out state ([0081] process, swapped out):
changing the first state from the swapped-out state to a runnable state ([0081] process, requires memory, swapped-out state, memory swap, move other memory content out to the secondary storage 124, free up memory [0029] process, waiting state, ready state for execution); and
swapping in the process data of the first process by retrieving the process data of the first process from the non-memory storage space based on the process information stored in the non-memory storage space ([0080] identify memory swapping requirement for a process, identified process require more memory resource to execute, good candidate has pages that can be swapped in [0082] memory content is swapped between the memory 108 and the secondary storage 124 [0088] memory content, swapped, to or from a secondary storage [0028] process-specific information, process control block) and copying the process data ([0079] copying of memory content to or form the secondary storage 124 ).
Levin doesn’t specifically teach wherein the first resource requirement is for a first amount of computing memory resource occupied by a first process; a first process state of the first process is an uninterruptible sleep state; when the first process state has been the uninterruptible sleep state for at least a preset time; changing the first process state from the uninterruptible sleep state to a swapped-out state; the released first system resource satisfies a second resource requirement of the first; and a second amount of computing memory resource; where in the second amount of computing memory resource is allocated from the released first system resource, and wherein the second resource requirement of the first process is for the second amount of computing memory resource.
Li, however, teaches wherein the first resource requirement is for a first amount of computing memory resource occupied by a first process ([0045] one resource is occupied by one process, N process occupy one resource, select to run one of the N processes, pause the other N-1 processes);
a first process state of the first process is an uninterruptible sleep state ([0006] processes is an uninterruptible sleep state);
when the first process state has been the uninterruptible sleep state for at least a preset time ([0006] processes, uninterruptible sleep state, exceeds the preset period);
changing the first process state from the uninterruptible sleep state to a swapped-out state ([0036] changing the states of the N process, from the uninterruptible sleep state to an exit state or a pause state);
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 Levin with the teachings of Li of resource occupied a process, pause the process and run another process using the released resources, changing a process from the interruptible state after a preset period of time to exit state to improve efficiency and allow the first resource requirement is for a first amount of computing memory resource occupied by a first process; a first process state of the first process is an uninterruptible sleep state; when the first process state has been the uninterruptible sleep state for at least a preset time; changing the first process state from the uninterruptible sleep state to a swapped-out state to the method of Levin as in the instant invention.
The combination would have been obvious because using the uninterrupted sleep state of a process, transitioning of a process from uninterrupted sleep state after a preset period, run a process using the released resources occupied by another process as taught by Li to the method of Levin to yield expected result and improved efficiency by substituting the wait process to uninterruptible sleep state, transitioning the uninterruptible sleep state after preset period to swapped out state as in the instant invention.
Levin and LI, in combination, do not specifically teach the released first system resource satisfies a second resource requirement of the first; and a second amount of computing memory resource; where in the second amount of computing memory resource is allocated from the released first system resource, and wherein the second resource requirement of the first process is for the second amount of computing memory resource.
Duan, however, teaches the released first system resource satisfies a second resource requirement of the first (page2 : releasing the resource from the resource occupied by at least one second task set of the first task scheduling queue; second task set satisfies the following condition” the resource number occupied by the task in the second task set is larger than the minimum resource needed by the second task set) and
to a second amount of computing memory resource (page2: releasing the resource from the resource occupied by at least one second task set of the first task scheduling queue; number of released resource is less than or equal to the first number, first number is the difference between the minimum resource needed by the first task set and the number of the allocated resources, first task); where in the second amount of computing memory resource is allocated from the released first system resource (page2 : releasing the resource from the resource occupied by at least one second task set of the first task scheduling queue ), and wherein the second resource requirement of the first process is for the second amount of computing memory resource (page2: second task set satisfies the following condition the resource number occupied by the task in the second task set is larger than the minimum resource needed by the second task set).
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 Levin and Li with the teachings of Duan of releasing the resource from the resource occupied by at least one second task set is larger than the minimum resource needed by the second task set; and the resource number occupied by the task in the second task set is larger than the minimum resource needed by the second task set to improve efficiency and allow the released first system resource satisfies a second resource requirement of the first process; and a second amount of computing memory resource; where in the second amount of computing memory resource is allocated from the released first system resource, and wherein the second resource requirement of the first process is for the second amount of computing memory resource to the method of Levin and Li as in the instant invention.
The combination would have been obvious because applying the known method of releasing resources occupied by a task set and execute the first task because the occupied resources is larger than the resources required for the first task as taught by Duan to the method of Levin and Li to yield expected result and improved resource utilization efficiency.
As per claim 2, Levin teaches detecting that the released first system resource satisfies the second resource requirement of the first process ([0053] swapping out memory, so that sufficient memory is available when the process is actually executed again i.e. process state: not executing [0081] process, requires memory); and
wherein changing the first process state from the swapped-out state to the runnable state ([0081] process, requires memory, swapped-out state, memory swap, move other memory content out to the secondary storage 124, free up memory [0029] process, waiting state, ready state for execution) is in response to detecting that the released first system resource before swapping in the process data of the first process ([0081]move out memory content out to secondary storage, free up memory) .
Duan teaches remaining claim elements of change process state is in response to detecting that the released first system resource satisfies the second resource requirement of the first process and before swapping in the process data of the first process (page2: releasing the resource from the resource occupied by at least one second task set of the first task scheduling queue; number of released resource is less than or equal to the first number, first number is the difference between the minimum resource needed by the first task set and the number of the allocated resources, first task, real-time).
As per claim 4, Levin teaches allocating the non-memory storage space comprises allocating the non-memory storage space ([0028] process, process control block, stores (i.e. allocation of storage) process-specific information, for swapping the process in and out of the processor [0059] fig. 6 memory 108 104 process control block 14 2 [0045] memory 104 /108 provide persistent storage, non-volatile memory, fixed and removable media devices, SSD, HDD).
Li teaches remaining claim elements of changing the first process state from the uninterruptible sleep state to the swapped out state ([0036] changing the states of the N process, from the uninterruptible sleep state to an exit state or a pause state).
Claim 11 recites an electronic device comprising: a memory, configured to store instructions; and a processor coupled to the memory and configured to execute the instructions to cause the electronic device to perform elements similar to claim 1. Therefore, it is rejected for the same rationales.
Claim 12 recites computer program product comprising computer-executable instructions that are stored on a non-transitory computer-readable storage medium and that,
Claim 13 recites computer program product for elements similar to claim 2. Therefore, it is rejected for the same rationales.
Claim 15 recites computer program product for elements similar to claim 4. Therefore, it is rejected for the same rationales.
Claim 22 recites the electronic device for elements similar to claim 2. Therefore, it is rejected for the same rationales.
Claim 23 recites the electronic device for elements similar to claim 4. Therefore, it is rejected for the same rationales.
Claim 24 recites the electronic device for elements similar to claim 2. Therefore, it is rejected for the same rationales.
As per claim 25, Levin teaches establishing a mapping relationship between the first process and the non-memory storage space ([0028] process, process control block, stores (i.e. allocation of storage) process-specific information, for swapping the process in and out of the processor [0059] fig. 6 memory 108 104 process control block 14 2 [0045] memory 104 /108 provide persistent storage, non-volatile memory, fixed and removable media devices, SSD, HDD [0031] secondary storage 124 non-volatile memory, HDD) before swapping out the process data of the first process to the non-memory storage space ([0028] swapping the process in and out of the processor [0059] fig. 6 memory 108 104 process control block 14 2 [0045] memory 104 /108 provide persistent storage, non-volatile memory, fixed and removable media devices, SSD, HDD [0031] secondary storage 124 non-volatile memory, HDD).
As per claim 26, Levin teaches wherein the non-memory storage space comprises a cloud storage space ([0095] storage 1106, located, cloud computing environment).
As per claim 27, Levin teaches swapping in the process data of the first process based on the process information stored in the non-memory storage space comprises ([0027] process data, process control block, secondary storage 123 [0079] copying of memory content to or from the secondary storage 124):
reading the process information of the first process from the non-memory storage space ([0029] referencing the process control block, process ); and
resuming the first process based on the process information read from the non-memory storage space ([0079] swapping, entire process address space, secondary storage 124, back, copying of memory content to or from the secondary storage 124).
Claim 28 recites elements similar to claim 25. Therefore, it is rejected for the same rationales.
As per claim 29, Levin teaches wherein the non-memory storage space comprises a disk ([0045] memory 104 /108 provide persistent storage, non-volatile memory, fixed and removable media devices, SSD, HDD [0031] secondary storage 124 non-volatile memory, HDD).
Claim 30 recites electronic device with elements similar to claim 27. Therefore, it is rejected for the same rationales.
Claim 31 recites computer program product for elements similar to claim 25. Therefore, it is rejected for the same rationales.
As per claim 32, Levin teaches wherein the non-memory storage space comprises a swap partition ([0045] memory 104 /108 provide persistent storage, non-volatile memory, fixed and removable media devices, SSD, HDD [0031] secondary storage 124 non-volatile memory, HDD).
Allowable Subject Matter
Claims 10, 21 and 24 would be allowable if rewritten to overcome the rejection(s) under set forth in this Office action and to include all of the limitations of the base claim and any intervening claims.
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.
Response to Arguments
The previous objections to the claims have been withdrawn.
The previous 112(f) interpretations have been withdrawn.
The previous 35 USC 112(b) objections have been withdrawn.
Applicant's arguments filed on 07/13/2026 have been fully considered but they are moot in view of new ground of rejection.
Conclusion
Authorization for Internet Communication
Applicant is encouraged to submit an authorization to communicate with the Examiner via the internet by making the following statement (MPEP 502.03)
“Recognizing that internet communications are not secure, I hereby authorize the USPTO to communicate with the undersigned and practitioners in accordance with 37 CFR 1.33 and 37 CFR 1.34 concerning any subject matter of this application by video conferencing, instant messaging, or electronic mail. I understand that a copy of these communications will be made of record in the application file.”
Please note that the above statement can only by submitted via Central Fax (not Examiner’s Fax), Regular postal mail, or EFS Web using PTO/SB/439.
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