Methods and systems for performing operations in response to detecting a computer idle condition
First Claim
1. A method of determining when to perform a computer background process, wherein the background process is stored in memory connected to a central processing unit (CPU) via a memory bus, the method comprising:
- allowing the computer background process to access a computer resource via a peripheral bus for a first predetermined time period in response to determining that one or more idle cycles of the CPU are available;
after the first predetermined time period has elapsed, inhibiting the computer background process from accessing the computer resource for a second predetermined time period;
after the second predetermined time period has elapsed, determining if one or more idle cycles of the CPU are available;
in response to determining that one or more idle cycles of the CPU are available, determining if the computer resource is being used by another process, whereinin response to determining that the computer resource is being used by another process, waiting for a third predetermined time period and after the third predetermined time period has elapsed, again determining if the computer resource is being used by another process, andin response to determining that the computer resource is not being used by another process, allowing the computer background process to access the computer resource via the peripheral bus again.
3 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the invention enable the efficient use of shared resources by different processes, such as background and foreground processes sharing a mass storage device. Thus, disk intensive operations, such as file indexing, do not unduly interfere with higher priority processes. In one embodiment, a first process is permitted to access a computer resource for a first predetermined time period. After the first predetermined time period has elapsed, the first process is inhibited from accessing the computer resource for a second predetermined time period. After the second predetermined time period has elapsed, a determination is made as to whether the computer resource is idle, wherein if the computer resource is not idle, the embodiment waits for a third predetermined time period and again determining if the computer resource is idle, and wherein if the computer resource is idle, the embodiment allows the first process to access the computer resource again.
113 Citations
86 Claims
-
1. A method of determining when to perform a computer background process, wherein the background process is stored in memory connected to a central processing unit (CPU) via a memory bus, the method comprising:
-
allowing the computer background process to access a computer resource via a peripheral bus for a first predetermined time period in response to determining that one or more idle cycles of the CPU are available; after the first predetermined time period has elapsed, inhibiting the computer background process from accessing the computer resource for a second predetermined time period; after the second predetermined time period has elapsed, determining if one or more idle cycles of the CPU are available; in response to determining that one or more idle cycles of the CPU are available, determining if the computer resource is being used by another process, wherein in response to determining that the computer resource is being used by another process, waiting for a third predetermined time period and after the third predetermined time period has elapsed, again determining if the computer resource is being used by another process, and in response to determining that the computer resource is not being used by another process, allowing the computer background process to access the computer resource via the peripheral bus again. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer system that detects a computer resource idle condition, the computer system comprising:
-
a processor; memory coupled to the processor via a memory bus; a computer resource coupled to the processor via a peripheral bus; and program instructions stored in the memory configured to; enable a computer background process to access the computer resource via the peripheral bus for a first time period in response to determining that cycles of the processor are available for the computer background process; after the first predetermined time period has elapsed, prevent the computer background process from accessing the computer resource for a second time period; determine if the computer resource is idle and if processor cycles are available for the computer background process; allow the computer background process to access the computer resource via the peripheral bus again in response to determining that the computer resource is idle and that processor cycles are available for the computer background process; prevent the computer background process from accessing the computer resource for a third time period in response to determining that the computer resource is not idle or that processor cycles are not available for the computer background process, and after the third time period has elapsed, again determine if the computer resource is idle and if processor cycles are available for the computer background process. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. A method of allocating access to a computer resource, the method comprising:
-
permitting a first process to access a computer resource via a peripheral bus of a computing system for a first time period in response to determining that cycles of a processor are available for the first process, wherein the first process is stored in a memory available to the processor via a memory bus; after the first time period has elapsed, inhibiting the first process from accessing the computer resource for a second time period; after the second time period has elapsed, determining if cycles of the processor are available for the first process; in response to determining that cycles of the processor are available for the first process, determining if the computer resource is idle based at least in part on a computer resource performance indicator, wherein in response to determining that the computer resource is not idle, waiting for a third predetermined time period and after the third predetermined time period has elapsed, again determining if the computer resource is idle, and in response to determining that the computer resource is idle, allowing the first process to access the computer resource via the peripheral bus again. - View Dependent Claims (49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66)
-
-
67. A system that allocates access to a computer resource, the system comprising:
-
computer readable memory; and instructions stored in the computer readable memory connected to a central processing unit (CPU), the instructions configured for execution by the processor in order to; permit a first process to access a computer resource via a peripheral bus for a first time period in response to determining that one or more cycles of the CPU are available; after the first time period has elapsed, inhibit the first process from accessing the computer resource for a second time period; after the second time period has elapsed, determine if one or more cycles of a CPU are available; in response to determining that one or more cycles of the CPU are available, determine if the computer resource is idle based at least in part on a computer resource performance indicator, wherein in response to determining that the computer resource is not idle, cause the first process to wait for a third predetermined time period and, after the third predetermined time period has elapsed, again determine if the computer resource is idle, and in response to determining that the computer resource is idle, allow the first process to access the computer resource via the peripheral bus again. - View Dependent Claims (68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85)
-
-
86. A method of allocating access to one or more computer resources, the method comprising:
-
permitting a first process to access one or more computer resources via a peripheral bus for a first time period in response to determining that cycles of a central processing unit (CPU) are available for the first process, wherein the process is stored in memory in data communication with the CPU via a memory bus; after the first time period has elapsed, inhibiting the first process from accessing the one or more computer resources for a second time period; after the second time period has elapsed, determining if cycles of the central processing unit are available for the first process; in response to determining that cycles of the CPU are available for the first process, determining if one or more of the computer resources are available, wherein in response to determining that the one or more computer resources are not idle, waiting for a third predetermined time period and, after the third predetermined time period has elapsed, again determining if the one or more computer resources are idle, and in response to determining that the one or more computer resources are idle, allowing the first process to access the one or more computer resource via the peripheral bus again.
-
Specification