Electrical computers and digital processing systems: support – Computer power control – Power conservation
Reexamination Certificate
1998-03-31
2001-01-30
Grant, William (Department: 2785)
Electrical computers and digital processing systems: support
Computer power control
Power conservation
C710S059000
Reexamination Certificate
active
06182231
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates to the control of applications executing on data processing systems, and more particularly to the control of the suspension of execution of applications executing on data processing systems.
BACKGROUND OF THE INVENTION
One aspect of interaction between applications and operating systems which has the potential for inefficiency is in the execution of a “sleep” function. A sleep function is typically utilized by applications to suspend execution of the application while the application waits for an event to occur. For example, in communicating between applications an application may call the sleep function while it waits for a response from another application.
Conventional sleep functions, such as SLEEP in Microsoft's Windows® and DOSSLEEP in International Business Machines OS/2®, typically use a single duration for the time the application is suspended. This approach, however, can cause too much time to be spent sleeping if the duration is too large or too much time spent entering and exiting sleep mode if the duration is set too large. Furthermore, as applications may run on different platforms with different characteristics, it may be impossible to determine in advance a single sleep duration which provides the correct balance between too long a duration and too short a duration.
Even if a single platform could be anticipated, variations in session specific characteristics such as the number and nature of other applications executing on the system can also affect the needed sleep duration. Thus, if an application uses a single sleep duration for all situations, it is likely that this duration will not provide efficient use of system resources as either too many sleep calls will be made, thus utilizing processor resources for entering and leaving sleep mode, or too few sleep calls will be made, thus causing too long a suspension of the application to occur.
In light of these limitations of existing sleep mode functions, a need exists for improved methods of suspending execution of an application to wait for the occurrence of an event.
SUMMARY OF THE INVENTION
In view of the above discussion, it is an object of the present invention to provide an improved sleep mode which reduces the number of sleep calls performed, while also reducing the amount of time an application remains suspended.
A further object of the present invention is to provide a sleep mode which may replace sleep functions provided by existing operating systems.
Still another object of the present invention is to provide a sleep mode which may be utilized by applications with minimal or no modification to the applications.
Another object of the present invention is to provide a sleep mode which may be utilized by differing types of applications with differing sleep mode requirements without requiring modification to the sleep mode function.
These and other objects of the present invention are provided by methods, systems and computer program products which control execution of an application executing on a data processing system by receiving a first request for entry of sleep mode and determining a location in an application requesting entry of sleep mode. Execution of the application is suspended for a first predetermined time period based upon the application and location in the application requesting entry of sleep mode. A sleep history associated with the location in the application may also be generated based on previous durations of sleep associated with the location in the application and the first predetermined time adjusted based upon the sleep history associated with the location in the application so as to control the number of requests for entry of sleep mode associated with the location in the application.
By basing the duration of suspension of the application on the location in the application, a location specific sleep duration may be provided which controls the number of sleep calls required without increasing the duration of sleep. Furthermore, by basing this duration on a sleep history associated with the location, a dynamic sleep duration may be developed for each requesting location which may be fine tuned to that locations requirements. Thus, a location specific dynamic sleep duration may be obtained for different locations in an application requesting entry of sleep mode with minimal impact on the application.
In further embodiments of the present invention, a request for entry of sleep mode specifies the application and location in the application requesting entry of sleep mode. The location in the application requesting entry of sleep mode is then determined by inspecting the request for entry of sleep mode to determine the application and location in the application requesting entry of sleep mode. The request for entry of sleep mode may further specify a first predetermined time period which may be utilized if a sleep history is not available for the location in the application.
In another embodiment of the present invention, a second request for entry of sleep mode is received. It is determined if the second request for entry of sleep mode is a continuation of the first request for entry of sleep mode and execution of the application is suspended for a second predetermined time period. The first predetermined time may also be updated to reflect a time based upon the first predetermined time period and the second predetermined time period associated with the application and location in the application requesting entry of sleep mode so as to provide a revised first predetermined time period. Furthermore, the second predetermined time period may be determined based on the first predetermined time period.
In particular embodiments where at least one first request and more than one continuation requests associated with the first request are received, then the first predetermined time may be updated by summing the first predetermined time associated with the first request and the second predetermined times associated with the continuation requests to provide a total time. The first predetermined time may then be set to the total time.
In another embodiment of the present invention, where a plurality of first requests for entry of sleep mode associated with the location in the application have been received and where at least one continuation request for entry of sleep mode was associated with a first request for entry of sleep mode immediately prior to a current first request for entry of sleep mode, the first predetermined time may be increased to a sum of the first predetermined time associated with the current first request and the second predetermined times associated with any continuation requests associated with the current first request if the number of previous first requests for entry of sleep mode from the location in the application of the plurality of first requests having a continuation request for entry of sleep mode associated with the first request is above a predefined threshold value. Furthermore, the first predetermined time may be increased by a first incremental amount if the number of previous first requests for entry of sleep mode from the location in the application of the plurality of first requests having a continuation request for entry of sleep mode associated with the first request is below the predefined threshold value. The incremental amount may be adjusted based on the number of previous first requests for entry of sleep mode from the location in the application of the plurality of first requests having a continuation request for entry of sleep mode associated with the first request. Furthermore, the first incremental amount may be determined based on the first predetermined time.
In another embodiment of the present invention, where a plurality of first requests for entry of sleep mode associated with the location in the application have been received and where no continuation requests for entry of sleep mode associated with a first request for entry of sleep mode immediately prior to a current firs
Grant William
Hartman Jr. Ronald D
International Business Machines - Corporation
Myers Bigel Sibley & Sajovec P.A.
Ray-Yarletts Jeanine S.
LandOfFree
Dynamic program suspension does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Dynamic program suspension, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Dynamic program suspension will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2482136