IP Library Granted Patent US 7,831,981
Granted Patent B1
US 7,831,981 · App. 11/751,092 · Granted Nov 9, 2010

External device support for device abstraction layer

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,831,981
App. No.
11/751,092
Granted
Nov 9, 2010
Kind
B1
Abstract

Various embodiments of systems and methods for providing external device support for a device driver abstraction layer are disclosed. Some embodiments of a method may involve: accessing attribute information associating each of several keys with a respective device attributes, where each of the keys identifies a respective device; and configuring an interface to a device driver for communication with a device dependent on which device attributes the attribute information associates with the key that identifies the device. Configuring the interface may configure the interface to include one or more of interface features. Each of the interface features may support a respective device attribute.

Claims (43)

1. A method, comprising:

accessing attribute information associating each of a plurality of keys with a respective plurality of device attributes, wherein each of the plurality of keys identifies a respective device;

configuring an interface to a device driver for communication with a device dependent on which device attributes the attribute information associates with one of the plurality of keys, wherein the one of the plurality of keys identifies the device, wherein the device attributes which the attribute information associates with the one of the plurality of keys comprise an upgrade attribute, wherein the upgrade attribute indicates whether the device has an optional functionality, and wherein the upgrade attribute indicates a method for determining whether or not the optional functionality is currently implemented by the device;

wherein said configuring configures the interface to include one or more of a plurality of interface features, wherein each of the plurality of interface features supports a respective device attribute; and

updating the attribute information to include a new key identifying a new device and to associate one or more device attributes from the plurality of device attributes with the new key, wherein the plurality of interface features supporting the respective device attributes of the plurality of devices identified by the plurality of keys is not updated by said updating.

2. The method of claim 1 , further comprising:

configuring the interface to a new device driver for communication with the new device dependent on which device attributes the attribute information associates with the new key, wherein the interface to the new device driver includes one or more of the plurality of interface features.

3. The method of claim 1 , wherein the information associating each of the plurality of keys with a respective plurality of device attributes is stored in one or more files.

4. The method of claim 1 , wherein device attributes include one or more of: an attribute indicating a number of slots included in an associated device, an attribute indicating whether an associated device is configured as a self-cleaning device, and an attribute indicating whether an associated device includes a barcode reader.

5. The method of claim 1 , wherein the information is organized as a table.

6. The method of claim 1 , wherein the key includes an inquiry string identifying a vendor ID and a product ID.

7. The method of claim 1 , wherein the configuring the interface to the device driver for communication with the device is performed by a device driver abstraction layer.

8. The method of claim 1 , wherein the plurality of interface features are provided by a device driver abstraction layer.

9. A method, comprising:

storing on a computer system an attribute file indicating which one or more of a plurality of device attributes is associated with each of a plurality of keys, wherein each of the plurality of keys identifies a respective device;

a device driver abstraction layer included in the computer system configuring an interface to a device driver for a device dependent on which of the plurality of device attributes is associated with one of the plurality of keys in the attribute file, wherein the one of the plurality of keys identifies the device;

updating the attribute file to indicate which one or more of the plurality of device attributes is associated with a new key identifying a new device, wherein the one or more of the plurality of device attributes associated with the new key comprise an upgrade attribute indicating whether the new device has an optional functionality, wherein the device driver abstraction layer is not updated in response to the new device;

the device driver abstraction layer configuring the interface to a new device driver for the new device dependent on which of the plurality of device attributes are associated with the new key in the attribute file.

10. The method of claim 9 , wherein the device driver abstraction layer includes a plurality of interface features, wherein said configuring the interface to the device driver for the device comprises selecting one or more of the plurality of interface features to include in the interface dependent on which of the plurality of device attributes are associated with the one of the plurality of keys.

11. The method of claim 9 , wherein the one of the plurality of keys identifies the device by identifying a vendor ID and a product ID.

12. A computer accessible memory medium comprising program instructions executable to implement a device driver abstraction layer, wherein the device driver abstraction layer is configured to:

access an attribute file, wherein the attribute file associates each of a plurality of keys with a respective plurality of device attributes, wherein each of the plurality of keys identifies a respective device, wherein the device driver abstraction layer includes a plurality of interface features, wherein each of the plurality of interface features supports a respective device attribute;

configure an interface to a device driver for a device dependent on which attributes are associated with a key identifying the device in the attribute file, wherein the configured interface includes a respective interface feature for each attribute of the plurality of attributes associated with the key in the attribute file, wherein the attributes associated with the key identifying the device comprise an upgrade attribute, wherein the upgrade attribute indicates whether the device has an optional functionality, and wherein the upgrade attribute indicates a method for determining whether or not the optional functionality is currently implemented by the device; and

update the attribute file to include a new key identifying a new device and to associate one or more device attributes from the plurality of device attributes with the new key, wherein the interface features included in the device driver abstraction layer are not updated by said updating.

13. The computer accessible memory medium of claim 12 , wherein the device driver abstraction layer is configured to:

in response to the attribute file being updated to include a new key identifying a new device and to associate one or more device attributes with the new key, configure the interface to a new device driver for communication with the new device dependent on which device attributes the attribute file associates with the new key.

14. The computer accessible memory medium of claim 12 , wherein device attributes include one or more of: an attribute indicating a number of slots included in an associated device, an attribute indicating whether an associated device is configured as a self-cleaning device, and an attribute indicating whether an associated device is configured to read barcodes.

15. The computer accessible memory medium of claim 12 , wherein the key includes an inquiry string identifying a vendor ID and a product ID.

16. The computer accessible memory medium of claim 12 , wherein the device driver abstraction layer includes a plurality of interface features, and wherein in configuring the interface to the device driver for the device, the device driver abstraction layer is configured to select one or more of the plurality of interface features to include in the interface dependent on which of the plurality of device attributes are associated with the one of the plurality of keys.

17. A system, comprising:

a device;

a processor; and

a memory coupled to the processor, wherein the memory stores:

a device driver abstraction layer;

an attribute file; and

a device driver for the device;

wherein the device driver abstraction layer is configured to receive a request to access the device and to responsively configure an interface to the device driver for the device;

wherein the device driver abstraction layer includes a plurality of interface features, wherein each of the plurality of interface features supports a respective device attribute;

wherein the device driver abstraction layer configures the interface to the device driver dependent on which attributes are associated with a key identifying the device in the attribute file, wherein the device driver abstraction layer configures the interface to include a respective interface feature for each attribute of the plurality of attributes associated with the key in the attribute file, wherein the attributes associated with the key identifying the device comprise an upgrade attribute, wherein the upgrade attribute indicates whether the device has an optional functionality, and wherein the upgrade attribute indicates a method for determining whether or not the optional functionality is currently implemented by the device; and

wherein the device driver abstraction layer is configured to update the attribute file to include a new key identifying a new device and to associate one or more device attributes from the plurality of device attributes with the new key, wherein the interface features included in the device driver abstraction layer are not updated by said updating.

18. The system of claim 17 , wherein in response to the attribute file being updated to include a new key identifying a new device and to associate one or more device attributes with the new key, the device driver abstraction layer is configured to configure the interface to a new device driver for the new device dependent on which device attributes are associated with the new key in the attribute file, wherein the device driver abstraction layer is not updated in response to the new device.

19. The system of claim 17 , wherein in configuring the interface to the device driver for the device, the device driver abstraction layer is configured to select one or more of the plurality of interface features to include in the interface dependent on which of the plurality of device attributes are associated with the one of the plurality of keys.

20. The system of claim 17 , wherein the key identifies a vendor ID and a product ID for the device.

Assignments (16)
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Mar 5, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027819/0462 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →