Loading...
Please wait, while we are loading the content...
Device Driver Aggregation in Operating System Deployment
| Content Provider | The Lens |
|---|---|
| Abstract | A tool for managing device driver aggregation during operating system deployment. The tool receives a request for a device bundle, wherein the request originates from a first target client. The tool determines whether an available driver bundle matches the device bundle, wherein the available driver bundle is a driver bundle stored locally on a second target client. Responsive to a determination that the available driver bundle matches the device bundle, the tool provisions the available driver bundle to the first target client from the second target client. |
| Related Links | https://www.lens.org/lens/patent/106-518-062-424-440/frontpage |
| Language | English |
| Publisher Date | 2017-08-29 |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Patent |
| Jurisdiction | United States of America |
| Date Applied | 2016-04-26 |
| Agent | Maeve Carpenter |
| Applicant | Ibm |
| Application No. | 201615139002 |
| Claim | A method for managing device driver aggregation during operating system deployment, the method comprising: receiving, by one or more computer processors, a request for a device bundle, wherein the request originates from a first target client; determining, by the one or more computer processors, whether an available driver bundle matches the device bundle, wherein the available driver bundle is a driver bundle stored locally on a second target client; and responsive to a determination that the available driver bundle matches the device bundle, provisioning, by the one or more computer processors, the available driver bundle to the first target client from the second target client. The method of claim 1 , wherein the request for a device bundle includes a unique identifier, wherein the unique identifier represents a plurality of device identifiers associated with the device bundle. The method of claim 1 , further comprising: responsive to determining the available driver bundle does not match the device bundle, creating, by the one or more computer processors, an associated driver bundle for the device bundle; wherein creating an associated driver bundle for the device bundle further comprises determining, by the one or more computer processor, whether a request threshold is exceeded by referencing a counter tracking the request threshold; where a predetermined number of a specific request for a device bundle have been received, determining that the request threshold for the specific request is exceeded; and where a predetermined number of a specific request for a device bundle has not been received, determining that the request threshold for the specific request is not exceeded. The method of claim 3 , further comprising responsive to determining that the request threshold for the specific request is exceeded, determining, by the one or more computer processor, a best available driver bundle for the device bundle by utilizing a plurality of heuristics to select the best available driver bundle from one or more associated driver bundles that cover more than a percentage of a requested device bundle. The method of claim 4 , further comprising sending, by the one or more computer processor, the best available driver bundle to the first target client. The method of claim 3 , further comprising: creating, by one or more computer processors, the associated driver bundle for the device bundle by referencing a peripheral component interconnect identification (PCI-ID) list, wherein the PCI-ID list includes a device inventory and a plurality of device statistics; aggregating, by one or more computer processors, at least one driver relevant to each of a plurality of devices in the device bundle; sending, by one or more computer processors, the associated driver bundle to the first target client; and storing, by one or more computer processors, the associated driver bundle under an aggregate device unique identifier, wherein the aggregate device unique identifier links the associated driver bundle to the device bundle. The method of claim 1 further comprises determining, by the one or more computer processor, whether each driver in an associated driver bundle is correct for the device bundle, wherein determining whether each driver is correct includes confirming, by the one or more computer processor, that each of a plurality of devices within the device bundle for which drivers were requested are supported and functional, wherein confirming each of the devices are supported and functional includes: installing each driver from the associated driver bundle; processing each driver bundle installation result; and capturing information related to driver bundle quality. The method of claim 7 , responsive to determining that at least one of the drivers are not correct, further comprises initiating, by the one or more computer processor, a request for one or more missing drivers for the device bundle, wherein initiating the request for one or more missing drivers includes sending, by the one or more computer processor, an outcome result including feedback information related to each driver that is correct along with a request for the associated driver bundle for the one or more missing drivers. A computer program product for managing device driver aggregation during operating system deployment, the computer program product comprising: one or more computer readable storage devices and program instructions stored on the one or more computer readable storage devices, the program instructions comprising: program instructions to receive a request for a device bundle, wherein the request originates from a first target client; program instructions to determine whether an available driver bundle matches the device bundle, wherein the available driver bundle is a driver bundle stored locally on a second target client; and responsive to a determination that the available driver bundle matches the device bundle, program instructions to provision the available driver bundle to the first target client from the second target client. The computer program product of claim 9 , wherein a unique identifier represents a plurality of device identifiers associated with the device bundle. The computer program product of claim 9 , further comprises: responsive to a determination that the available driver bundle does not match the device bundle, program instructions to create an associated driver bundle for the device bundle; wherein program instructions to create an associated driver bundle for the device bundle further comprise program instructions to determine, by the one or more computer processor, whether a request threshold is exceeded by referencing a counter tracking the request threshold; where a predetermined number of a specific request for a device bundle have been received, determining that the request threshold for the specific request is exceeded; and where a predetermined number of a specific request for a device bundle has not been received, determining that the request threwshold for the specific request is not exceeded. The computer program product of claim 11 , further comprising responsive to determining that the request threshold for the specific request is exceeded, program instructions to determine, by the one or more computer processor, a best available driver bundle for the device bundle by utilizing a plurality of heuristics to select the best available driver bundle from one or more associated driver bundles that cover more than a percentage of a requested device bundle. The computer program product of claim 12 , further comprising program instructions to send, by the one or more computer processor, the best available driver bundle to the first target client. The computer program product of claim 11 , further comprising: program instructions to create, by one or more computer processors, the associated driver bundle for the device bundle by referencing a peripheral component interconnect identification (PCI-ID) list, wherein the PCI-ID list includes a device inventory and a plurality of device statistics; program instructions to aggregate, by one or more computer processors, at least one driver relevant to each of a plurality of devices in the device bundle; program instructions to send, by one or more computer processors, the associated driver bundle to the first target client; and program instructions to store, by one or more computer processors, the associated driver bundle under an aggregate device unique identifier, wherein the aggregate device unique identifier links the associated driver bundle to the device bundle. The computer program product of claim 9 further comprises program instructions to determine, by a one or more computer processor, whether each driver in an associated driver bundle is correct for the device bundle, wherein determining whether each driver is correct includes confirming, by the one or more computer processor, that each of a plurality of devices within the device bundle for which drivers were requested are supported and functional, wherein confirming each of the devices are supported and functional includes: installing each driver from the associated driver bundle; processing each driver bundle installation result; and capturing information related to driver bundle quality. The computer program product of claim 15 , responsive to determining that at least one of the drivers are not correct, further comprises program instructions to initiate, by the one or more computer processor, a request for one or more missing drivers for the device bundle, wherein initiating the request for one or more missing drivers includes sending, by the one or more computer processor, an outcome result including feedback information related to each driver that is correct along with a request for the associated driver bundle for the one or more missing drivers. A computer system for managing device driver aggregation during operating system deployment, the computer system comprising: one or more computer readable storage media; program instructions stored on at least one of the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising: program instructions to receive a request for a device bundle, wherein the request originates from a first target client; program instructions to determine whether an available driver bundle matches the device bundle, wherein the available driver bundle is a driver bundle stored locally on a second target client; and responsive to a determination that the available driver bundle matches the device bundle, program instructions to provision the available driver bundle to the first target client from the second target client. The computer system of claim 17 , further comprising: responsive to a determination that the available driver bundle does not match the device bundle, program instructions to create an associated driver bundle for the device bundle; wherein program instructions to create an associated driver bundle for the device bundle further comprise program instructions to determine, by the one or more computer processor, whether a request threshold is exceeded by referencing a counter tracking the request threshold; where a predetermined number of a specific request for a device bundle have been received, determining that the request threshold for the specific request is exceeded; and where a predetermined number of a specific request for a device bundle has not been received, determining that the request threshold for the specific request is not exceeded. The computer system of claim 18 , further comprising responsive to determining that the request threshold for the specific request is exceeded, program instructions to determine, by the one or more computer processor, a best available driver bundle for the device bundle by utilizing a plurality of heuristics to select the best available driver bundle from one or more associated driver bundles that cover more than a percentage of a requested device bundle. The computer system of claim 19 , further comprising program instructions to send, by the one or more computer processor, the best available driver bundle to the first target client. |
| CPC Classification | ELECTRIC DIGITAL DATA PROCESSING |
| Examiner | Andy Ho |
| Extended Family | 106-518-062-424-440 156-368-882-486-172 185-279-319-115-96X 130-587-673-224-842 156-669-414-240-488 167-086-401-961-336 |
| Patent ID | 9747093 |
| Inventor/Author | Latino Francesco Mariani Gianluca Pastorelli Bernardo Secomandi Antonio |
| IPC | G06F13/00 G06F9/44 G06F9/445 |
| Status | Active |
| Owner | International Business Machines Corporation |
| Simple Family | 106-518-062-424-440 185-279-319-115-96X 156-368-882-486-172 130-587-673-224-842 156-669-414-240-488 167-086-401-961-336 |
| CPC (with Group) | G06F8/61 G06F9/4411 |
| Issuing Authority | United States Patent and Trademark Office (USPTO) |
| Kind | Patent/New European patent specification (amended specification after opposition procedure) |