Method for determining status of a computer device and detecting device behavior in response to a status request
First Claim
1. A method for executing a device status detection cycle in a device having an unknown status response behavior including at least a first and a second response behavior, comprising:
- transmitting a status request from a device driver to the device, the status request including a request for the status of a plurality of event types;
receiving a status response from the device, the status response including a designation of one of the plurality of event types and the status for the one of the plurality of event types;
determining that the device exhibits the second behavior based upon a comparison between the status request and the designation of the one of the plurality of event types in the status response;
wherein the status request comprises a bitmask, the bitmask including a plurality of bits, each bit corresponding to an event type.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system allows a device driver to obtain the status of a device that may exhibit one of two distinct behaviors in responding to status requests that designate a plurality of event types associated with a device. Devices exhibiting the first behavior respond to the status requests by providing the status for the highest priority event type designated in the status request. Device exhibiting the second behavior respond to the status requests by providing the status for the highest priority event type that has undergone a status change. In one implementation, the device driver transmits a series of distinct status requests such that the status of all event types can be determined. In a related aspect of the invention, the device driver also analyzes the response message to determine if the device exhibits the second behavior type. When the second behavior type is detected, only a single type of status request is sent to obtain the status of all event types.
113 Citations
24 Claims
-
1. A method for executing a device status detection cycle in a device having an unknown status response behavior including at least a first and a second response behavior, comprising:
-
transmitting a status request from a device driver to the device, the status request including a request for the status of a plurality of event types;
receiving a status response from the device, the status response including a designation of one of the plurality of event types and the status for the one of the plurality of event types;
determining that the device exhibits the second behavior based upon a comparison between the status request and the designation of the one of the plurality of event types in the status response;
wherein the status request comprises a bitmask, the bitmask including a plurality of bits, each bit corresponding to an event type. - View Dependent Claims (2)
-
-
3. A method for executing a device status detection cycle in a device having an unknown status response behavior including at least a first and a second response behavior, comprising:
-
transmitting a status request from a device driver to the device, the status request including a request for the status of a plurality of event types;
receiving a status response from the device, the status response including a designation of one of the plurality of event types and the status for the one of the plurality of event types;
determining that the device exhibits the second behavior based upon a comparison between the status request and the designation of the one of the plurality of event types in the status response;
wherein the request for the status of the plurality of event types includes a first and a second event type and the step of determining that the device exhibits the second behavior occurs when the response from the device includes the designation of the second event type. - View Dependent Claims (4, 6)
-
-
5. A method for executing a device status detection cycle in a device having an unknown status response behavior including at least a first and a second response behavior, comprising:
-
transmitting a status request from a device driver to the device, the status request including a request for the status of a plurality of event types;
receiving a status response from the device, the status response including a designation of one of the plurality of event types and the status for the one of the plurality of event types;
determining that the device exhibits the second behavior based upon a comparison between the status request and the designation of the one of the plurality of event types in the status response;
wherein the status request comprises a GESN command.
-
-
7. A method of determining a status for a plurality of event types of a device during a test cycle and provided by the device in accordance with a standard, comprising:
-
establishing a first status request comprising a request for the status of at least one event type of the device;
sending the first status request to the device within the test cycle;
receiving a response from the device, the response comprising the status for the at least one event type;
comparing the first status request to the response and, as a result of the comparison, establishing a second status request such that the second request is distinct from the first status request; and
sending the second status request to the device within the test cycle. - View Dependent Claims (8)
-
-
9. A method of determining a status for a plurality of event types of a device during a test cycle and provided by the device in accordance with a standard, comprising:
-
establishing a first status request comprising a request for the status of at least one event type of the device;
sending the first status request to the device within the test cycle;
receiving a response from the device, the response comprising the status for the at least one event type;
comparing the first status request to the response and, as a result of the comparison, establishing a second status request such that the second request is distinct from the first status request;
sending the second status request to the device within the test cycle;
wherein the test cycle comprises one of a plurality of test cycles, each of the plurality of test cycles executing at successive periodic intervals.
-
-
10. A method of determining a status for a plurality of event types of a device during a test cycle and provided by the device in accordance with a standard, comprising:
-
establishing a first status request comprising a request for the status of at least one event type of the device;
sending the first status request to the device within the test cycle;
receiving a response from the device, the response comprising the status for the at least one event type;
comparing the first status request to the response and, as a result of the comparison, establishing a second status request such that the second request is distinct from the first status request;
sending the second status request to the device within the test cycle;
wherein the request for the status of the at least one event type comprises a bitmask, the bitmask having a plurality of bits, each bit corresponding to one of the plurality event types. - View Dependent Claims (11, 12)
-
-
13. A method of obtaining the status for a plurality of event types associated with a device, each of the plurality of event types having a priority, the status of each of the plurality of event types being indicative of either a change in status or no change in status, comprising:
-
determining that the device responds to status requests designating a plurality of event types by providing the status for the highest priority event type exhibiting a change in status, wherein the plurality of event types each comprise a usable event typ; and
repeatedly transmitting status requests designating each of the plurality of event types until all status change data for the plurality of event types is obtained by the device driver. - View Dependent Claims (14, 15)
-
-
16. A computer-readable medium having computer executable instructions for a method for executing a device status detection cycle in a device having an unknown status response behavior including at least a first and a second response behavior, the method comprising:
-
transmitting a status request from a device driver to the device, the status request including a request for the status of a plurality of event types;
receiving a status response from the device, the status response including a designation of one of the plurality of event types and the status for the one of the plurality of event types;
determining that the device exhibits the second behavior based upon a comparison between the status request and the designation of the one of the plurality of event types in the status response. - View Dependent Claims (22)
-
-
17. A computer-readable medium having computer executable instructions for a method for executing a device status detection cycle in a device having an unknown status response behavior including at least a first and a second response behavior, the method comprising:
-
transmitting a status request from a device driver to the device, the status request including a request for the status of a plurality of event types;
wherein the status request comprises a bitmask, the bitmask including a plurality of bits, each bit corresponding to an event type;
receiving a status response from the device, the status response including a designation of one of the plurality of event types and the status for the one of the plurality of event types;
determining that the device exhibits the second behavior based upon a comparison between the status request and the designation of the one of the plurality of event types in the status response. - View Dependent Claims (18, 19, 20)
-
-
21. A computer-readable medium having computer executable instructions for a method for executing a device status detection cycle in a device having an unknown status response behavior including at least a first and a second response behavior, the method comprising:
-
transmitting a status request from a device driver to the device, the status request including a request for the status of a plurality of event types, wherein the status request comprises a GESN command;
receiving a status response from the device, the status response including a designation of one of the plurality of event types and the status for the one of the plurality of event types;
determining that the device exhibits the second behavior based upon a comparison between the status request and the designation of the one of the plurality of event types in the status response.
-
-
23. A computer-readable medium having computer executable instructions for a method of determining a status for a plurality of event types of a device during a test cycle and provided by the device in accordance with a standard, the method comprising:
-
establishing a first status request comprising a request for the status of at least one event type of the device;
sending the first status request to the device within the test cycle;
receiving a response from the device, the response comprising the status for the at least one event type;
comparing the first status request to the response and, as a result of the comparison, establishing a second status request such that the second request is distinct from the first status request;
sending the second status request to the device within the test cycle; and
determining that the status for each of the plurality of event types has been received and, as a result, exiting the test cycle.
-
-
24. A computer-readable medium having computer executable instructions for a method of obtaining the status for a plurality of event types associated with a device, each of the plurality of event types having a priority, the status of each of the plurality of event types being indicative of either a change in status or no change in status, the method comprising:
-
determining that the device responds to status requests designating a plurality of event types by providing the status for the highest priority event type exhibiting a change in status;
repeatedly transmitting status requests designating each of the plurality of event types until all status change data for the plurality of event types is obtained by the device driver;
wherein the step of determining that the device responds to status requests by providing the status for the highest priority event type exhibiting a change in status comprises comparing the status requests designating the plurality of event types with a response message.
-
Specification