IP Library Granted Patent US 8,825,911
Granted Patent B1
US 8,825,911 · App. 14/044,086 · Granted Sep 2, 2014

Method for creation of device drivers and device objects for peripheral devices

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 8,825,911
App. No.
14/044,086
Granted
Sep 2, 2014
Kind
B1
Abstract

All steps required to create and operate a peripheral device of an electronic device can be performed without the need to plug in the peripheral device to the electronic device. Setup information for a peripheral device is extracted, modified and stored to fit to a physical existent peripheral device. The modified setup information is used to create a data structure that is passed to the peripheral bus driver. As the data structure contains a hot plug notification the reception causes the peripheral bus driver to initiate the setup process for the peripheral device. As the data structure is built from setup information that is available at the electronic device no additional user action is required. The invention also allows the creation of a device object for existing signed driver packets that may not be altered.

Claims (34)

1. A method, comprising:

creating a data structure from existent setup information;

replacing a device identification (ID) in the data structure with a device ID of a peripheral device;

passing a request to a device driver of an interface of the peripheral device and a bus that initiates the installation of the peripheral device, wherein the peripheral device is not connected to the electronic device, wherein the request comprises a request to add the peripheral device, a class identifier of the peripheral device and the device ID of the peripheral device which cause a bus driver of the bus to receive the request and determine a new device is operating on the bus as a Plug and Play device; and

adding entries to provide Plug and Play functionality to the data structure generated from an existent setup information file that does not provide such functionality.

2. The method of claim 1 , wherein a previously existent setup information is stored in a file.

3. The method of claim 1 , wherein existent setup information is stored in a configuration memory of the electronic device.

4. The method of claim 1 , further comprising storing the device ID of the peripheral device.

5. The method of claim 1 , further comprising passing an instance ID to the driver of the peripheral interface or bus to identify an instance of the peripheral device.

6. The method according to claim 1 , wherein the bus is an expansion bus.

7. The method according to claim 1 , wherein the bus is a peripheral bus.

8. The method of claim 1 , wherein the peripheral device supports the functionality of multiple devices and the operations of creation of setup information, initialization and performance of an installation are performed for each supported functionality of the multiple devices.

9. An apparatus, comprising:

a memory; and

a processor communicably coupled to the memory, the processor configured to:

create a data structure from existent setup information,

replace a device identification (ID) in the data structure with a device ID of a peripheral device;

pass a request to a device driver of an interface of the peripheral device and a bus that initiates the installation of the peripheral device, wherein the peripheral device is not connected to the apparatus, wherein the request comprises a request to add the peripheral device, a class identifier of the peripheral device and the device ID of the peripheral device which cause a bus driver of the bus to receive the request and determine a new device is operating on the bus as a Plug and Play device; and

add entries to provide Plug and Play functionality to the data structure generated from an existent setup information file that does not provide such functionality.

10. The apparatus of claim 9 , wherein a previously existent setup information is stored in a file.

11. The apparatus of claim 9 , wherein existent setup information is stored in a configuration memory of the apparatus.

12. The apparatus of claim 9 , wherein the processor is further configured to pass an instance ID to the driver of the peripheral interface to identify an instance of the peripheral device.

13. The apparatus of claim 9 , wherein the processor is further configured to pass an instance ID to the driver of the bus to identify an instance of the peripheral device.

14. The apparatus of claim 9 , wherein the bus is an expansion bus.

15. The apparatus of claim 9 , wherein the bus is a peripheral bus.

16. The apparatus of claim 9 , wherein the peripheral device supports the functionality of multiple devices and the operations of creation of setup information, initialization and performance of an installation are performed for each supported functionality of the multiple devices.

17. A non-transitory computer readable medium comprising a computer program that when executed causes a processor to perform:

creating a data structure from existent setup information;

replacing a device identification (ID) in the data structure with a device ID of a peripheral device;

passing a request to at least one of a device driver of an interface of the peripheral device and a bus that initiates the installation of the peripheral device, wherein the peripheral device is not connected to the electronic device, wherein the request comprises a request to add the peripheral device, a class identifier of the peripheral device and the device ID of the peripheral device which cause a bus driver of the bus to receive the request and determine a new device is operating on the bus as a Plug and Play device; and

adding entries to provide Plug and Play functionality to the data structure generated from an existent setup information file that does not provide such functionality.

18. The method of claim 1 , further comprising creating a device object of the electronic device and binding the device object to the peripheral device to provide a signed driver that is used during the installation of the peripheral device.

19. The apparatus of claim 9 , wherein the processor is further configured to create a device object of the apparatus and bind the device object to the peripheral device to provide a signed driver that is used during the installation of the peripheral device.

20. The non-transitory computer readable medium of claim 17 , wherein the processor is further configured to perform creating a device object of the electronic device and binding the device object to the peripheral device to provide a signed driver that is used during the installation of the peripheral device.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE PATENT ASSIGNMENT AGREEMENT DATED NOVEMBER 30, 2021 PREVIOUSLY RECORDED AT REEL: 058426 FRAME: 0791. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2022
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058736/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2021
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058426/0791 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2021
From: WIELAND, MARTIN
To: OPEN INVENTION NETWORK LLC
Reel/Frame 057333/0243 →