SYSTEMS AND METHODS FOR SUSPENDING IDLE DEVICES
First Claim
1. A method, comprising:
- receiving, by a processor, an indication that a device having a communication channel is connected to a host device;
determining, by the processor, a first timeout value associated with the communication channel, wherein the first timeout value corresponds to an amount of time allotted for an operation to complete in the communication channel;
determining a second timeout value associated with the first device, wherein the second timeout value corresponds to an amount of time allotted for the device to be designated as idle before the device is suspended;
determining, by the processor, that the device is idle when the operation is pending in the communication channel for an amount of time that is greater than the first timeout value; and
issuing, by the processor, a command to the device when the device has been idle for an amount of time that is greater than the second timeout value, wherein the command is configured to suspend the device.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for suspending an idle device includes receiving, by a processor, an indication that a device having a communication channel is connected to a host device. The method then includes determining a first timeout value associated with the communication channel and a second timeout value associated with the first device. The first timeout value corresponds to an amount of time allotted for an operation to complete in the communication channel, and the second timeout value corresponds to an amount of time allotted for the device to be designated as idle before the device is suspended. The device is determined to be idle when the operation is pending in the communication channel for an amount of time that is greater than the first timeout value. The device is suspended when the device has been idle for an amount of time that is greater than the second timeout value.
29 Citations
20 Claims
-
1. A method, comprising:
-
receiving, by a processor, an indication that a device having a communication channel is connected to a host device; determining, by the processor, a first timeout value associated with the communication channel, wherein the first timeout value corresponds to an amount of time allotted for an operation to complete in the communication channel; determining a second timeout value associated with the first device, wherein the second timeout value corresponds to an amount of time allotted for the device to be designated as idle before the device is suspended; determining, by the processor, that the device is idle when the operation is pending in the communication channel for an amount of time that is greater than the first timeout value; and issuing, by the processor, a command to the device when the device has been idle for an amount of time that is greater than the second timeout value, wherein the command is configured to suspend the device. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
an external device having one or more communication channels; a host device coupled to the external device, wherein the host device comprises a processor configured to perform one or more operations using the external device via the one or more communication channels by; receiving an indication that the external device is connected to the host device; determining one or more first timeout values associated with the one or more communication channels, respectively, wherein each of the first timeout values corresponds to an amount of time allotted for each respective operation to complete in each respective communication channel; determining a second timeout value associated with the external device, wherein the second timeout value corresponds to an amount of time allotted for the external device to be designated as idle before the external device is suspended; determining whether any of the operations using the communication channels are pending; if at least one of the operations is pending, determining that the external device is idle when the at least one respective operation is pending in its respective communication channel for an amount of time that is greater than its respective first timeout value; and suspending the external device when the external device has been idle for an amount of time that is greater than the second timeout value. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An electronic device comprising:
a processor configured to manage power being consumed by an external device coupled to the electronic device by; receiving an indication that the external device having a plurality of communication channels is connected to the electronic device; retrieving a plurality of first timeout values from a plurality of drivers associated with the plurality of communication channels, wherein each first timeout value of the plurality of first timeout values corresponds to an amount of time allotted for a respective operation to complete in a respective communication channel; retrieving a plurality of second timeout values associated with the first device from the plurality of drivers, wherein each second timeout value of the plurality of second timeout values corresponds to an amount of time allotted for the external device to be designated as idle before the device is suspended; determining that the external device is idle when; a respective operation is pending in a respective communication channel for an amount of time that is greater than a respective first timeout value;
orno operations are pending in at least some of the plurality of communication channels, wherein the at least some of the plurality of communication channels does not include the respective communication channel; determining a maximum second timeout value in the plurality of second timeout values; and suspending the external device when the external device has been idle for an amount of time that is greater than the maximum second timeout value. - View Dependent Claims (19, 20)
Specification