US5787019A
Expired / Lapsed
US
⏱️ 0.0 years remaining
System and method for handling dynamic changes in device states
Assignee: Apple Inc
•
Filing: 1996-05-10
•
Granted: 1998-07-28
•
Expires: 2016-05-10
Abstract
Abstract The present invention is a system and method by which changes in states of devices within a computer system are identified and understood by relevant parts of the system. The system responds to state changes in a well-defined and predictable way without requiring a reboot cycle of operation. The state changes can be classified as a "hard event" or a soft event." Each event may further classified as, among others, a "device removed" event or a "device added" event.
Inventors
- 👤 Holly Knight
- 👤 Milton Soong
- 👤 Pradeep Kathail
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-01 20:49
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/4401; G06F9/4411; G06F15/00; G06F15/16; G06F15/177
Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
121 words
A method for handling dynamic changes in states of physical input/output devices in a computer system, comprising the steps of: establishing a plurality of families of software, each family being executable by the computer system and providing access to a predetermined class of input/output devices; establishing subscriptions for predetermined ones of said families with predetermined other ones of said families, whereby said predetermined ones of said families receive notification of changes in states of the input/output devices from said predetermined other ones of said families; detecting a change in state of an input/output device by a respective family; and notifying said predetermined ones of said families having subscriptions with said respective family of the change in state of the input/output device.
Claim 2
Independent Claim
121 words
A method for handling dynamic changes in states of physical input/output devices in a computer system, comprising the steps of: establishing a plurality of families of software, each family being executable by the computer system and providing access to a predetermined class of input/output devices; establishing subscriptions for predetermined ones of said families with predetermined other ones of said families, whereby said predetermined ones of said families receive notification of changes in states of the input/output devices from said predetermined other ones of said families; detecting a change in state of an input/output device by a respective family; and notifying said predetermined ones of said families having subscriptions with said respective family of the change in state of the input/output device.
Claim 3
Dependent Claim
40 words
The method of claim 1, wherein said notifying step comprises the steps of: mapping said change in state to an event message; and sending said event message to said predetermined ones of said families having subscriptions with said respective family.
Claim 4
Dependent Claim
49 words
The method of claim 1, further comprising the steps of: detecting a dynamically installed input/output device; identifying a class of input/output devices of which said dynamically installed input/output device is a member; and notifying families which have subscriptions to said class, of installation of said dynamically installed input/output device.
Claim 5
Dependent Claim
49 words
The method of claim 1, further comprising the steps of: detecting a dynamically removed input/output device; identifying a class of input/output devices to which said dynamically removed input/output device is a member; and notifying families which have subscriptions to said class, of removal of said dynamically removed input/output device.
Claim 6
Dependent Claim
45 words
The method of claim 3, further comprising the steps of: establishing high-level families to control logical input/output devices instantiated on the physical input/output devices; and establishing low-level families to control the physical input/output devices and detect changes in the states of the physical input/output devices.
Claim 7
Independent Claim
126 words
A system for handling dynamic changes in states of physical input/output devices in a computer system, comprising: means for establishing a plurality of families of software, each family being executable by the computer system and providing access to a predetermined class of input/output devices; means for establishing subscriptions for predetermined ones of said families with predetermined other ones of said families, whereby said predetermined ones of said families receive notification of changes in states of the input/output devices from said predetermined other ones of said families; means for detecting a change in state of an input/output device by a respective family; and means for notifying said predetermined ones of said families having subscriptions with said respective family of the change in state of the input/output device.
Claim 8
Independent Claim
126 words
A system for handling dynamic changes in states of physical input/output devices in a computer system, comprising: means for establishing a plurality of families of software, each family being executable by the computer system and providing access to a predetermined class of input/output devices; means for establishing subscriptions for predetermined ones of said families with predetermined other ones of said families, whereby said predetermined ones of said families receive notification of changes in states of the input/output devices from said predetermined other ones of said families; means for detecting a change in state of an input/output device by a respective family; and means for notifying said predetermined ones of said families having subscriptions with said respective family of the change in state of the input/output device.
Claim 9
Dependent Claim
42 words
The system of claim 6, wherein said means for notifying comprises: mean for mapping said change in state to an event message; and means for sending said event message to said predetermined ones of said families having subscriptions with said respective family.
Claim 10
Dependent Claim
52 words
The system of claim 6, further comprising: means for detecting a dynamically installed input/output device; means for identifying a class of input/output devices of which said dynamically installed input/output device is a member; and means for notifying families which have subscriptions to said class, of installation of said dynamically installed input/output device.
Claim 11
Dependent Claim
46 words
The system of claim 8, further comprising: means for establishing high-level families to control logical input/output devices instantiated on the physical input/output devices; and means for establishing low-level families to control the physical input/output devices and detect changes in the states of the physical input/output devices.
Claim 12
Dependent Claim
52 words
The system of claim 6, further comprising: means for detecting a dynamically removed input/output device; means for identifying a class of input/output devices to which said dynamically removed input/output device is a member; and means for notifying families which have subscriptions to said class, of removal of said dynamically removed input/output device.
Claim 13
Dependent Claim
127 words
A computer-readable medium comprising program instructions for causing a computer system to handle dynamic changes in states of physical input/output devices by performing the steps of: establishing a plurality of families of software, each family being executable by the computer system and providing access to a predetermined class of input/output devices; establishing subscriptions for predetermined ones of said families with predetermined other ones of said families, whereby said predetermined ones of said families receive notification of changes in states of the input/output devices from said predetermined other ones of said families; detecting a change in state of an input/output device by a respective family; and notifying said predetermined ones of said families having subscriptions with said respective family of the change in state of the input/output device.
Claim 14
Dependent Claim
127 words
A computer-readable medium comprising program instructions for causing a computer system to handle dynamic changes in states of physical input/output devices by performing the steps of: establishing a plurality of families of software, each family being executable by the computer system and providing access to a predetermined class of input/output devices; establishing subscriptions for predetermined ones of said families with predetermined other ones of said families, whereby said predetermined ones of said families receive notification of changes in states of the input/output devices from said predetermined other ones of said families; detecting a change in state of an input/output device by a respective family; and notifying said predetermined ones of said families having subscriptions with said respective family of the change in state of the input/output device.
Claim 15
Dependent Claim
42 words
The computer readable medium of claim 11, wherein said notifying step comprises the steps of: mapping said change in state to an event message; and sending said event message to said predetermined ones of said families having subscriptions with said respective family.
Claim 16
Dependent Claim
60 words
The computer readable medium of claim 11, further comprising program instructions for causing the computer system to perform the steps of: detecting a dynamically installed input/output device; identifying a class of input/output devices of which said dynamically installed input/output device is a member; and notifying families which have subscriptions to said class, of installation of said dynamically installed input/output device.
Claim 17
Dependent Claim
56 words
The computer readable medium of claim 13, further comprising program instructions for causing the computer system to perform the steps of: establishing high-level families to control logical input/output devices instantiated on the physical input/output devices; and establishing low-level families to control the physical input/output devices and detect changes in the states of the physical input/output devices.
Claim 18
Dependent Claim
60 words
The computer readable medium of claim 11, further comprising program instructions for causing the computer system to perform the steps of: detecting a dynamically removed input/output device; identifying a class of input/output devices to which said dynamically removed input/output device is a member; and notifying families which have subscriptions to said class, of removal of said dynamically removed input/output device.
Claim 19
Independent Claim
169 words
A device notification system for notifying a computer system in response to a change in a connection state of a device, the device notification system comprising: high-level family program code stored in a memory; low-level family program code stored in a memory, the low-level family program code being configured to issue notification signals responsive to the change in the connection state, the notification signals including a code uniquely identifying the device for which the change in the connection state has been detected; device notification program code stored in a memory, the device notification program code being configured to communicate the change in the connection state to the high-level family program code; a first part of the high-level family program code being configured to use the device notification program code to communicate with a second part of the high-level family program code; and plug-in program code for enabling communication between the low-level family program code and the device in response to the change in the connection state of the device.
Claim 20
Independent Claim
169 words
A device notification system for notifying a computer system in response to a change in a connection state of a device, the device notification system comprising: high-level family program code stored in a memory; low-level family program code stored in a memory, the low-level family program code being configured to issue notification signals responsive to the change in the connection state, the notification signals including a code uniquely identifying the device for which the change in the connection state has been detected; device notification program code stored in a memory, the device notification program code being configured to communicate the change in the connection state to the high-level family program code; a first part of the high-level family program code being configured to use the device notification program code to communicate with a second part of the high-level family program code; and plug-in program code for enabling communication between the low-level family program code and the device in response to the change in the connection state of the device.
Claim 21
Dependent Claim
29 words
The device notification system of claim 16, wherein the low-level family program code unloads the plug-in program code responsive to the change in the connection state of the device.
Claim 22
Dependent Claim
21 words
The device notification system of claim 16, wherein the low-level family program code functions independently of the high-level family program code.
References Cited (Backward Citations)
US4025906A
Cited
US4794525A
Cited
US5109484A
Cited
US5491804A
Cited
US4862355A
Cited
US5014193A
Cited
US5465364A
Cited
US5535415A
Cited
US5265241A
Cited
US5454084A
Cited
US5307491A
Cited
US5408669A
Cited
US5457798A
Cited
US5317695A
Cited
US5613123A
Cited
EP0590645A1
Cited
US5590376A
Cited
US5379437A
Cited
WO1994011812A1
Cited
US5548782A
Cited
US5634074A
Cited
EP0650120A2
Cited
US5537663A
Cited
US5628027A
Cited
US5625841A
Cited
US5553245A
Cited
US5555510A
Cited
US5671441A
Cited
US5630174A
Cited
US5586268A
Cited
US5624137A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-07-27 | 2002-01-26 | 2002-07-28 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-07-27 | 2006-01-26 | 2006-07-28 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-07-27 | 2010-01-26 | 2010-07-28 | $7700.00 | Window Closed / Lapsed |