Patent ID: 7103788

Claim:
A method for signaling and waiting to suspend first devices, said first devices and second devices associated with a computer, said first devices having a suspend status independent of a suspend status of said second devices, said first devices being connected to a root hub via a communications medium, said first devices comprising a plurality of nodes organized in a tree structure, said first devices comprising child nodes of the root hub, said method comprising: receiving, by the at least one of the first devices, an idle request from a child node of said at least one of the first devices, said at least one of the first devices having one or more child nodes in the tree structure; determining via a driver of the at least one of the first devices when the at least one of the first devices is ready to be suspended, said at least one of the first devices is ready to be suspended only when all of the one or more child nodes thereof is ready to be suspended; propagating an idle request from the driver of the at least one of the first devices to the root hub when the at least one of the first devices is determined to be ready to be suspended, said sending being independent of an idle requests sent by the second devices, said propagating the idle request comprises: determining whether the at least one of the first devices has received an idle request from each of the child nodes thereof; waiting to receive an idle request from each of the child nodes if an idle request from each of the child nodes has not been received; and submitting an idle request to the root hub if the at least one of the first devices has received an idle request from all of the child nodes; waiting, by the driver of the at least one of the first devices that sent the idle request, to receive a call from the root hub to a callback function associated with the device; and executing by the driver the callback function to suspend the at least one of the first devices that sent the idle request while maintaining a state associated with each of the other first devices.