IP Library Granted Patent US 9,934,049
Granted Patent B1
US 9,934,049 · App. 15/338,866 · Granted Apr 3, 2018

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

Inventor: Martin Wieland (Munich, DE)
Assignee: Open Invention Network LLC
G06F9/4413G06F9/44505G06F13/105G06F13/385G06F13/4282
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 9,934,049
App. No.
15/338,866
Granted
Apr 3, 2018
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 (37)

1. A method, comprising:

creating, via an electronic device, a setup information file and a temporary data structure to configure a driver of a peripheral device;

replacing, via the electronic device, pre-existing device identification (ID) information with a newly created peripheral device ID and storing the new peripheral device ID in the temporary data structure;

creating, via the electronic device, a request message based on the temporary data structure, the request message comprising a request to add a new device;

determining, via the electronic device, a new device is operating on a peripheral bus as a Plug and Play device; and

adding, via the electronic device, entries to provide Plug and Play functionality generated from the setup information file prior to plugging the peripheral device into the peripheral bus in communication with an electronic device.

2. The method of claim 1 , wherein a previously existent setup information is stored in the setup information 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, via the electronic device, the new peripheral device ID of the peripheral device.

5. The method of claim 1 , further comprising passing, via the electronic device, 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 setup information file and a temporary data structure to configure a driver of a peripheral device;

replace pre-existing device identification (ID) information in a newly created peripheral device ID and store the new peripheral device ID in the temporary data structure;

create a request message based on the temporary data structure, the request message comprising a request to add a new device

determine a new device is operating on a peripheral bus as a Plug and Play device; and

add entries to provide Plug and Play functionality generated from the setup information file prior to the peripheral device being plugged into the peripheral bus in communication with the electronic device.

10. The apparatus of claim 9 , wherein a previously existent setup information is stored in the setup information 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 setup information file and a temporary data structure to configure a driver of a peripheral device;

replacing pre-existing device identification (ID) information with a newly created peripheral device ID and storing the new peripheral device ID in the temporary data structure;

creating a request message based on the temporary data structure, the request message comprising a request to add a new device;

determining a new device is operating on a peripheral bus as a Plug and Play device; and

adding entries to provide Plug and Play functionality generated from the setup information file prior to plugging the peripheral device into the peripheral bus in communication with an electronic device.

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 →
Continuity (4)
Continuation 14755641 · Jun 30, 2015
Continuation 14471223 · Aug 28, 2014
Continuation 14044086 · Oct 2, 2013
Continuation 12711462 · Feb 24, 2010