WO2021225594A1 - Imaging device driver modification - Google Patents

Imaging device driver modification Download PDF

Info

Publication number
WO2021225594A1
WO2021225594A1 PCT/US2020/031813 US2020031813W WO2021225594A1 WO 2021225594 A1 WO2021225594 A1 WO 2021225594A1 US 2020031813 W US2020031813 W US 2020031813W WO 2021225594 A1 WO2021225594 A1 WO 2021225594A1
Authority
WO
WIPO (PCT)
Prior art keywords
imaging device
computing device
attribute
driver
query
Prior art date
Application number
PCT/US2020/031813
Other languages
French (fr)
Inventor
Michael St. Laurent
Rajivkumar Vinodchandra MISTRY
Phillip A. Mccoog
Original Assignee
Hewlett-Packard Development Company, L.P.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to PCT/US2020/031813 priority Critical patent/WO2021225594A1/en
Publication of WO2021225594A1 publication Critical patent/WO2021225594A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1232Transmitting printer device capabilities, e.g. upon request or periodically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1226Discovery of devices having required properties

Definitions

  • Imaging systems such as printers, copiers, etc.
  • imaging systems may form markings on the physical medium by performing a print job.
  • a print job can include forming markings such as text and/or images by transferring a print material (e.g., ink, toner, etc.) to the physical medium.
  • a print material e.g., ink, toner, etc.
  • Figure 1 is an example system including a computing device and imaging devices for imaging device driver modification consistent with the disclosure.
  • Figure 2 is a diagram of an example computing device for imaging device driver modification consistent with the disclosure.
  • Figure 3 is a block diagram of an example system for imaging device driver modification consistent with the disclosure.
  • Figure 4 is an example of a method of imaging device driver modification consistent with the disclosure.
  • Imaging devices may include a supply of a print material.
  • print material refers to a substance which can be transported through and/or utilized by an imaging device.
  • print material can be, for instance, a material that when applied to a medium, can form representation(s) (e.g., text, images models, etc.) on the medium during a print job.
  • Print material may include ink, toner, etc.
  • the print material can be deposited onto a physical medium.
  • imaging device refers to any hardware device with functionalities to physically produce representation(s) (e.g., text images, models, etc.) on the medium.
  • representation(s) e.g., text images, models, etc.
  • a “medium” may include paper, photopolymers, plastics, composite, metal, wood, or the like.
  • a device such as a computing device, can generate a print job request and transmit the print job request to an imaging device.
  • the imaging device can perform the print job according to the received print job request.
  • the computing device can utilize a driver in order to communicate with the imaging device.
  • driver refers to software that enables communication between an operating system and a hardware device.
  • the computing device can utilize a driver as an interface to enable communication between an operating system of the computing device and the imaging device.
  • the computing device can cause the imaging device to perform print jobs via the driver.
  • drivers are created for different types of imaging devices.
  • one driver may be generated for an imaging device manufactured by a first vendor (e.g., organization, company, etc.) and another driver may be generated for a different imaging device manufactured by a second vendor.
  • a first vendor e.g., organization, company, etc.
  • another driver may be generated for a different imaging device manufactured by a second vendor.
  • one driver may be generated for one model of imaging device and another driver may be generated for a different model of imaging device, where both models of imaging devices are manufactured by the same vendor.
  • Consumers are, in some instances, left to determine which driver to use for an imaging device. For example, a consumer may be left to determine the model of imaging device, determine an operating system of the computing device to interface with the imaging device, and determine which driver to utilize based on the operating system and model of imaging device. In some examples, there may be different versions of the driver that correspond to different versions of operating systems, imaging devices, etc. Additionally, the consumer may be forced to manage versions of drivers (e.g., by adding, removing, etc.) as drivers are updated.
  • Some vendors may generate a universal driver.
  • Such universal drivers may support a subset of imaging devices.
  • the subset of imaging devices may be the imaging devices the vendor manufactures or may be a further subset of imaging devices out of the entirety of the imaging devices the vendor manufactures.
  • a user may still be left to determine whether a particular imaging device is included in the subset of imaging devices supported by the universal driver.
  • driver there may be difficulty in selection of a driver that supports a particular imaging device, as some users may lack technical expertise to make such a selection. Additionally, users are left to manage versions of drivers (e.g., removing old versions, adding new versions) as drivers are updated, which can be difficult.
  • versions of drivers e.g., removing old versions, adding new versions
  • Imaging device driver modification can allow for a driver to be modified by a computing device based on attributes of an imaging device. For example, a computing device can query an imaging device to determine attributes of the imaging device and modify a driver based on the determined attributes so that the computing device can communicate with the imaging device using the modified driver. Modification of the driver by the computing device can prevent a user from having to determine a driver to use for the imaging device, allowing for an easier to use imaging device and increasing consumer satisfaction.
  • Figure 1 is an example system 100 including a computing device 102 and imaging devices 104 for imaging device driver modification consistent with the disclosure.
  • the system 100 can include the computing device 102, the imaging device 104, imaging device 105, and a remote server 106.
  • the system 100 can include the computing device 102.
  • the term “computing device” refers to an electronic system having a processing resource, memory resource, and/or an application- specific integrated circuit (ASIC) that can process information.
  • Examples of computing devices can include, for instance, a laptop computer, a notebook computer, a desktop computer, networking equipment (e.g., router, switch, etc.), and/or a mobile device (e.g., a smart phone, tablet, personal digital assistant, smart glasses, a wrist-wom device, etc.), among other types of computing devices.
  • a mobile device can include devices that are (or can be) carried and/or worn by a user.
  • a mobile device can be a phone (e.g., a smart phone), a tablet, a personal digital assistant (PDA), smart glasses, and/or a wrist-wom device (e.g., a smart watch), among other types of mobile devices.
  • a phone e.g., a smart phone
  • a tablet e.g., a personal digital assistant (PDA), smart glasses, and/or a wrist-wom device (e.g., a smart watch), among other types of mobile devices.
  • PDA personal digital assistant
  • smart glasses e.g., a smart glasses
  • a wrist-wom device e.g., a smart watch
  • the system 100 can include the imaging device 104.
  • the imaging device 104 can be a printing device (e.g., a printer).
  • the imaging device 104 can include printing, scanning, faxing, and/or other imaging device functionalities, and can perform print jobs when in receipt of a print job request from the computing device 102, as is further described herein.
  • the computing device 102 can detennine whether the imaging device 104 is connected to a same network as the computing device 102. For example, the computing device 102 can determine whether it is connected to the imaging device 104 via a wired or wireless connection.
  • the wired or wireless network connection can be a network relationship that connects the imaging device 104 to the computing device 102.
  • Examples of such a network relationship can include a local area network (LAN), wide area network (WAN), personal area network (PAN), a distributed computing environment (e.g., a cloud computing environment), storage area network (SAN), Metropolitan area network (MAN), a cellular communications network, Long Term Evolution (LTE), visible light communication (VLC), Bluetooth, Worldwide Interoperability for Microwave Access (WiMAX), infrared (IR) communication, Public Switched Telephone Network (PSTN), radio waves, and/or the Internet, among other types of network relationships.
  • LAN local area network
  • WAN wide area network
  • PAN personal area network
  • SAN storage area network
  • MAN Metropolitan area network
  • MAN metropolitan area network
  • cellular communications network Long Term Evolution (LTE), visible light communication (VLC), Bluetooth, Worldwide Interoperability for Microwave Access (WiMAX), infrared (IR) communication, Public Switch
  • the computing device 102 can determine whether the imaging device 104 is connected to the same network as the computing device 102 by a network connectivity test. For example, the computing device 102 can perform a ping test, perform a trace route command, perform a traced command, among other types of network connectivity tests.
  • the computing device 102 and the imaging device 104 can be connected to the same network.
  • the network connectivity test can indicate to the computing device 102 that it is connected to the same network as the imaging device 104.
  • the computing device 102 can query the imaging device 104 directly.
  • the term “query” refers to a request generated by a computing device and transmitted to another device to determine information.
  • the computing device 102 can query the imaging device 104 directly through the network connecting the computing device 102 and the imaging device 104.
  • the query can be transmitted to a capabilities service of the imaging device 104.
  • the capabilities service of the imaging device 104 can be a database that includes various attributes about the imaging device 104, as are further described herein.
  • the imaging device 104 can be connected to a different network than the computing device 102.
  • the network connectivity test can indicate to the computing device 102 that there is no direct network connection to the imaging device 104.
  • the computing device 102 can query the remote server 106.
  • the computing device 102 can query the remote server 106 via a network relationship between the computing device 102 and the remote server 106.
  • the query can be transmitted to a database included on the remote server 106.
  • the database can include various attributes about the imaging device 104 that the imaging device 104 has transmitted to the remote server 106, as is further described herein.
  • the imaging device 104 can be connected to the remote server 106 via a network relationship.
  • the imaging device 104 can transmit attributes of the imaging device 104 to the remote server 106.
  • the computing device 102 can determine an attribute of the imaging device 104 based on the query.
  • the query can return information to the computing device 102 that includes an attribute about the imaging device 104.
  • attribute refers to a characteristic that describes a function, feature, and/or identifier associated with an imaging device.
  • attributes of the imaging device 104 can include a page description language of the imaging device 104, a registry identifier of the imaging device 104, a model associated with the imaging device 104, a serial number associated with the imaging device 104, functional capabilities of the imaging device 104, configuration settings of the capabilities of the imaging device 104, among other examples, as are further described herein.
  • An attribute can include a page description language of the imaging device 104.
  • page description language refers to a computing language that describes the appearance of a printed medium in a higher level than an output bitmap.
  • the page description language of imaging device 104 can be a computing language in which the imaging device utilizes to describe the appearance of, for example, a piece of paper to be printed during a print job.
  • Examples of page description languages can include, for instance, Printer Control Language (PCL), PostScript Escape Codes, Portable Document Format (PDF), Raster Transfer Language (RTL), among other types of page description languages.
  • an attribute can include a registry identifier.
  • registry identifier refers to a name that identifies an object or class of object in a registry including information, settings, options, and/or other values for software and/or hardware of an operating system.
  • the registry identifier for the imaging device 104 can include objects to set values in an operating system of the computing device 102.
  • the attribute can include a model number associated with the imaging device 104.
  • model number refers to a unique number given to a product made by a manufacturer. For example, a manufacturer may produce imaging device 104 with a model number “IGD-001” and produce another imaging device with a model number “IGD-002”. The model number attribute of the imaging device 104 however, can be IGD-001.
  • An attribute can include capabilities of the imaging device 104 specific to the model number associated with the imaging device 104.
  • the term “capability” refers to a functionality able to be accomplished by the imaging device.
  • imaging device 104 having model number IGD-001 may include different functionalities including color print jobs, duplex print jobs (e.g., printing on both sides of a print medium), print job finishing (e.g., cutting, stapling, lamination, embossing, etc.), compression (e.g., lowering file sizes without changing or losing information in the file), among other types of imaging device capabilities.
  • An attribute can include a configuration of the capabilities of the imaging device 104.
  • configuration refers to a way in which a device is set up for a particular task.
  • configuration of the capabilities of the imaging device 104 may include whether or not duplex printing is enabled, whether the imaging device 104 is set to color print jobs, whether the imaging device 104 is set to gray scale print jobs, etc.
  • the attributes of the imaging device 104 are described above as including a page description language of the imaging device 104, a registry identifier, a model number associated with the imaging device 104, capabilities of the imaging device 104, and/or a configuration of the capabilities of the imaging device 104, examples of the disclosure are not so limited.
  • the imaging device 104 can include any other attributes that can describe the settings, function, connectivity, and/or other operational characteristics.
  • the computing device 102 can dynamically modify an existing driver for the imaging device 104 based on the determined attribute.
  • the attributes received by the computing device 102 can include the model number of the imaging device (e.g., IGD-001), the page description language (e.g., PCL), that the imaging device 105 includes capabilities such as color print jobs, duplex print jobs, and compression functionality, as well as a particular real-time configuration of the imaging device 104 capabilities (e.g., color print jobs and duplex print jobs are enabled).
  • the computing device 102 can modify an existing driver for the imaging device 104 to allow the computing device 102 to communicate with the imaging device 104.
  • the computing device 102 can utilize the modified driver to enable communication between an operating system of the computing device 102 and the imaging device 104 in order to generate a print job, transmit the print job to the imaging device 104, and cause the imaging device 104 to perform the print job, as is further described herein.
  • Modification of the driver by the computing device 102 for the imaging device 104 can include modifying a page description language of the driver that corresponds to the imaging device.
  • the driver may include an RTL page description language; the computing device 102 can modify the page description language from RTL to PCL, where PCL corresponds to the imaging device 104.
  • modification of the driver for the imaging device 102 is described above as modification from RTL to PCL, examples of the disclosure are not so limited.
  • the computing device 102 can modify the driver by modifying any first page description language to a second different page description language that corresponds to the imaging device 104.
  • Modification of the driver by the computing device 102 for the imaging device 104 can include generating a function to cause the imaging device 104 to operate according to the attributes of the imaging device 104.
  • the term “function” refers to computer-readable instructions that when executed cause a device to perform an action.
  • modifying the driver can include generating functions to allow the computing device 102 to cause the imaging device 104 to perform print jobs according to the attributes of the imaging device 104.
  • modifying the driver by the computing device 102 may include generating functions to cause the imaging device 104 to perform print jobs according the PCL page description language, perform color print jobs, to perform duplex print jobs, and/or other types of print jobs according to other attributes of the imaging device 104.
  • modification of the driver by the computing device 102 can allow the computing device 102 to generate a print job request for imaging device 104.
  • the term “print job request” includes a request to form markings on a physical medium according to a set of data.
  • the print job request can include a color and duplex print job to print a report.
  • the computing device 102 can transmit (e.g., communicate) the generated print job request to the imaging device 104 via the modified driver.
  • the imaging device 104 can, accordingly, perform the print job in response to the print job request.
  • the imaging device 104 can print the report in color and in duplex format.
  • the computing device 102 can query the imaging device 104 (e.g., directly or through the remote server 106), determine attributes about the imaging device 104 based on the query, and modify an existing driver to allow for the computing device 102 to cause the imaging device 104 to perform a print job.
  • the imaging device 104 e.g., directly or through the remote server 106
  • the computing device 102 may query a different imaging device 105.
  • the computing device 102 may be a laptop and a user of the laptop moves from a home environment to an office environment.
  • the imaging device 105 may be an unknown imaging device to the computing device 102 (e.g., the computing device 102 may not have been connected to the imaging device 105 in the past to perform print jobs).
  • the imaging device 105 may be a different model and/or manufacturer from the imaging device 104.
  • the computing device 102 can query the imaging device 105 according to the process described above. For example, the computing device 102 can determine whether the imaging device 105 is connected to a same network as the computing device 102. For example, the computing device 102 can determine whether it is connected to the imaging device 105 via a wired or wireless connection by a network connectivity test. [0041] In some examples, the computing device 102 and the imaging device 105 can be connected to the same network. For example, the network connectivity test can indicate to the computing device 102 that it is connected to the same network as the imaging device 105. In response to the imaging device 104 being connected to the same network as the computing device 102, the computing device 102 can query the imaging device 105 directly. For example, the computing device 102 can query the imaging device 105 directly through the network connecting the computing device 102 and the imaging device 105.
  • the query can be transmitted to a capabilities service of the imaging device 105.
  • the capabilities service of the imaging device 105 can be a database that includes various attributes about the imaging device 105.
  • the imaging device 105 can be connected to a different network than the computing device 102.
  • the network connectivity test can indicate to the computing device 102 that there is no direct network connection to the imaging device 105.
  • the computing device 102 can query the remote server 106.
  • the computing device 102 can query the remote server 106 via a network relationship between the computing device 102 and the remote server 106.
  • the query can be transmitted to a database included on the remote server 106.
  • the database can include various attributes about the imaging device 105 that the imaging device 105 has transmitted to the remote server 106.
  • the imaging device 105 can be connected to the remote server 106 via a network relationship.
  • the imaging device 105 can transmit attributes of the imaging device 104 to the remote server 106.
  • the computing device 102 can determine an attribute of the imaging device 105 based on the query.
  • the query can return information to the computing device 102 that includes the model number of the imaging device (e.g., IGD-002), the page description language (e.g., PostScript), that the imaging device 105 includes capabilities such as duplex print jobs and compression functionality, as well as a particular real-time configuration of the imaging device 104 capabilities (e.g., duplex print jobs are disabled).
  • the model number of the imaging device e.g., IGD-002
  • the page description language e.g., PostScript
  • capabilities such as duplex print jobs and compression functionality
  • a particular real-time configuration of the imaging device 104 capabilities e.g., duplex print jobs are disabled.
  • the computing device 102 can modify the driver for use with the imaging device 105 based on the determined attributes of the imaging device 105.
  • modifying the driver can include modifying functions to allow the computing device 102 to cause the imaging device 105 to perform print jobs according to the attributes of the imaging device 105.
  • modifying the driver by the computing device 102 may include generating functions to cause the imaging device 105 to perform print jobs according the PostScript page description language, to perform duplex print jobs, and/or other types of print jobs according to other attributes of the imaging device 105.
  • Modification of the driver by the computing device 102 can allow the computing device 102 to generate a print job request for imaging device 105.
  • the print job request can include a duplex print job to print a report.
  • the computing device 102 can transmit (e.g., communicate) the generated print job request to the imaging device 105 via the modified driver.
  • the imaging device 105 can, accordingly, perform the print job in response to the print job request.
  • the imaging device 105 can print the report in duplex format.
  • Imaging device driver modification can allow a computing device to modify an existing driver for use with different imaging devices having different attributes.
  • a computing device can modify an existing driver for different manufacturers of imaging devices, different models of imaging devices, and/or different imaging devices having different attributes. Modification of a driver by the computing device can allow for the computing device to automatically configure a driver to communicate with various types of different imaging devices, allowing for an easier to use imaging device that allows a user an easier path to printing, increasing customer satisfaction.
  • FIG. 2 is a diagram of an example computing device 202 for imaging device driver modification consistent with the disclosure.
  • the computing device 202 may perform functions related to imaging device driver modification.
  • the computing device 202 may include a processor and a machine-readable storage medium.
  • the following descriptions refer to a single processor and a single machine-readable storage medium, the descriptions may also apply to a system with multiple processors and multiple machine-readable storage mediums.
  • the computing device 202 may be distributed across multiple machine-readable storage mediums and across multiple processors.
  • the instructions executed by the computing device 202 may be stored across multiple machine- readable storage mediums and executed across multiple processors, such as in a distributed or virtual computing environment.
  • Processing resource 208 may be a central processing unit (CPU), a semiconductor-based microprocessor, and/or other hardware devices suitable for retrieval and execution of machine-readable instructions 212, 214, 216 stored in a memory resource 210.
  • Processing resource 208 may fetch, decode, and execute instructions 212, 214, 216.
  • processing resource 208 may include a plurality of electronic circuits that include electronic components for performing the functionality of instructions 212, 214, 216.
  • Memory resource 210 may be any electronic, magnetic, optical, or other physical storage device that stores executable instructions 212, 214, 216, and/or data.
  • memory resource 210 may be, for example, Random Access Memory (RAM), an Electrically-Erasable Programmable Read-Only Memory (EEPROM), a storage drive, an optical disc, and the like.
  • RAM Random Access Memory
  • EEPROM Electrically-Erasable Programmable Read-Only Memory
  • Memory resource 210 may be disposed within computing device 202, as shown in Figure 2. Additionally, memory resource 210 may be a portable, external or remote storage medium, for example, that causes computing device 202 to download the instructions 212, 214, 216 from the portable/extema l/remote storage medium.
  • the computing device 202 may include instructions 212 stored in the memory resource 210 and executable by the processing resource 208 to query an imaging device.
  • the query can be transmitted directly to a capabilities service of the imaging device when the computing device 202 and the imaging device are connected to the same network.
  • the query can be transmitted to a remote server when the computing device 202 and the imaging device are not connected to the same network, where the imaging device can transmit its attributes to the remote server.
  • the computing device 202 may include instructions 214 stored in the memory resource 210 and executable by the processing resource 208 to determine an attribute of the imaging device based on the query.
  • the query can return information to the computing device 202 that includes attributes about the imaging device.
  • Attributes can include a page description language of the imaging device, a registry identifier, a model number associated with the imaging device, capabilities of the imaging device, and/or a configuration of the capabilities of the imaging device, among other types of attributes.
  • the computing device 202 may include instructions 216 stored in the memory resource 210 and executable by the processing resource 208 to modify a driver for the imaging device based on the determined imaging device attribute. For example, the computing device 202 can generate functions to allow the computing device 202 to cause the imaging device to perform print jobs according to the determined attributes of the imaging device. The computing device 202 can, accordingly, generate a print job request and transmit the print job request to the imaging device to cause the imaging device to perform a print job.
  • Figure 3 is a block diagram of an example system 318 for imaging device driver modification consistent with the disclosure.
  • system 318 includes a processing resource 320 and a non-transitory machine- readable storage medium 322.
  • the following descriptions refer to a single processing resource and a single machine-readable storage medium, the descriptions may also apply to a system with multiple processors and multiple machine-readable storage mediums.
  • the instructions may be distributed across multiple machine-readable storage mediums and the instructions may be distributed across multiple processors. Put another way, the instructions may be stored across multiple machine-readable storage mediums and executed across multiple processors, such as in a distributed computing environment.
  • Processing resource 320 may be a central processing unit (CPU), microprocessor, and/or other hardware device suitable for retrieval and execution of instructions stored in machine-readable storage medium 322.
  • processing resource 320 may receive, determine, and send instructions 324, 326, 328, 330.
  • processing resource 320 may include an electronic circuit comprising a number of electronic components for performing the operations of the instructions in machine-readable storage medium 322.
  • executable instruction representations or boxes described and shown herein it should be understood that part or all of the executable instructions and/or electronic circuits included within one box may be included in a different box shown in the figures or in a different box not shown.
  • Machine-readable storage medium 322 may be any electronic, magnetic, optical, or other physical storage device that stores executable instructions.
  • machine-readable storage medium 322 may be, for example, Random Access Memory (RAM), an Electrically-Erasable Programmable Read-Only Memory (EEPROM), a storage drive, an optical disc, and the like.
  • RAM Random Access Memory
  • EEPROM Electrically-Erasable Programmable Read-Only Memory
  • the executable instructions may be “installed” on the system 318 illustrated in Figure 3.
  • Machine- readable storage medium 322 may be a portable, external or remote storage medium, for example, that allows the system 318 to download the instructions from the portable/extemal/remote storage medium. In this situation, the executable instructions may be part of an “installation package”.
  • Query an imaging device directly instructions 324 when executed by a processor such as processing resource 320, may cause system 318 to query, in response to an imaging device being connected to a same network as the computing device 302, the imaging device directly.
  • the computing device 302 can determine whether the computing device 302 and the imaging device are connected to the same network via a connectivity test, and in response to the imaging device being connected to the same network as the computing device 302, the computing device 302 can query the imaging device directly.
  • Query a remote server instructions 326 when executed by a processor such as processing resource 320, may cause system 318 to query, in response to an imaging device being connected to a same network as the computing device 302, the imaging device being connected to a different network than the computing device 302, a remote server connected to the imaging device.
  • the computing device 302 can determine whether the computing device 302 and the imaging device are connected to the same network via a connectivity test, and in response to the imaging device not being connected to the same network as the computing device 302, the computing device 302 can query a remote server, where the imaging device can transmit its attributes to the remote server.
  • Determine an attribute instructions 328 when executed by a processor such as processing resource 320, may cause system 318 to determine an attribute of the imaging device based on the query.
  • the query can return information to the computing device 302 that includes attributes about the imaging device. Attributes can include a page description language of the imaging device, a registry identifier, a model number associated with the imaging device, capabilities of the imaging device, and/or a configuration of the capabilities of the imaging device, among other types of attributes.
  • Modify a driver instructions 330 when executed by a processor such as processing resource 320, may cause system 318 to modify a driver for the imaging device based on the determined imaging device attribute.
  • the computing device 302 can generate functions to allow the computing device 302 to cause the imaging device to perform print jobs according to the determined attributes of the imaging device.
  • the computing device 302 can, accordingly, generate a print job request and transmit the print job request to the imaging device to cause the imaging device to perform a print job.
  • Figure 4 is an example of a method 432 of imaging device driver modification consistent with the disclosure.
  • the method 432 may be performed by a computing device (e.g., computing device 102, 202, previously described in connection with Figures 1-3, respectively) and an imaging device (e.g., imaging device 104, previously described in connection with Figure 1).
  • a computing device e.g., computing device 102, 202, previously described in connection with Figures 1-3, respectively
  • an imaging device e.g., imaging device 104, previously described in connection with Figure 1).
  • the method 432 includes determining whether an imaging device is connected to a same network as the computing device.
  • the computing device can determine whether the computing device and the imaging device are connected to the same network via a connectivity test.
  • the method 432 includes querying the imaging device directly to determine an attribute of the imaging device.
  • the computing device can query the imaging device directly in response to the imaging device being connected to the same network as the computing device.
  • the method 432 includes querying a remote server to determine the attribute of the imaging device.
  • the computing device can query a remote server in response to the imaging device being connected to a different network than the computing device.
  • the imaging device can transmit its attributes to the remote server via a network relationship between the imaging device and the remote server.
  • the method 432 includes modifying a driver for the imaging device based on the determined imaging device attribute.
  • the computing device can generate functions to allow the computing device to cause the imaging device to perform print jobs according to the determined attributes of the imaging device.
  • the computing device can, accordingly, generate a print job request and transmit the print job request to the imaging device to cause the imaging device to perform a print job.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Facsimiles In General (AREA)

Abstract

In some examples, a computing device can include a processing resource and a memory resource storing instructions to cause the processing resource to query an imaging device, determine an attribute of the imaging device based on the query, and modify a driver for the imaging device based on the determined imaging device attribute.

Description

IMAGING DEVICE DRIVER MODIFICATION
Background
[0001] Imaging systems, such as printers, copiers, etc., may be used to form markings on a physical medium, such as text, images, etc. In some examples, imaging systems may form markings on the physical medium by performing a print job. A print job can include forming markings such as text and/or images by transferring a print material (e.g., ink, toner, etc.) to the physical medium.
Brief Description of the Drawings
[0002] Figure 1 is an example system including a computing device and imaging devices for imaging device driver modification consistent with the disclosure. [0003] Figure 2 is a diagram of an example computing device for imaging device driver modification consistent with the disclosure.
[0004] Figure 3 is a block diagram of an example system for imaging device driver modification consistent with the disclosure.
[0005] Figure 4 is an example of a method of imaging device driver modification consistent with the disclosure.
Detailed Description
[0006] Imaging devices may include a supply of a print material. As used herein, the term “print material” refers to a substance which can be transported through and/or utilized by an imaging device. In some examples, print material can be, for instance, a material that when applied to a medium, can form representation(s) (e.g., text, images models, etc.) on the medium during a print job. Print material may include ink, toner, etc.
[0007] The print material can be deposited onto a physical medium. As used herein, the term “imaging device” refers to any hardware device with functionalities to physically produce representation(s) (e.g., text images, models, etc.) on the medium. In some examples, a “medium” may include paper, photopolymers, plastics, composite, metal, wood, or the like.
[0008] A device, such as a computing device, can generate a print job request and transmit the print job request to an imaging device. The imaging device can perform the print job according to the received print job request.
[0009] The computing device can utilize a driver in order to communicate with the imaging device. As used herein, the term “driver” refers to software that enables communication between an operating system and a hardware device. For example, the computing device can utilize a driver as an interface to enable communication between an operating system of the computing device and the imaging device. The computing device can cause the imaging device to perform print jobs via the driver. [0010] Typically, drivers are created for different types of imaging devices.
For example, one driver may be generated for an imaging device manufactured by a first vendor (e.g., organization, company, etc.) and another driver may be generated for a different imaging device manufactured by a second vendor. As another example, one driver may be generated for one model of imaging device and another driver may be generated for a different model of imaging device, where both models of imaging devices are manufactured by the same vendor.
[0011] Consumers are, in some instances, left to determine which driver to use for an imaging device. For example, a consumer may be left to determine the model of imaging device, determine an operating system of the computing device to interface with the imaging device, and determine which driver to utilize based on the operating system and model of imaging device. In some examples, there may be different versions of the driver that correspond to different versions of operating systems, imaging devices, etc. Additionally, the consumer may be forced to manage versions of drivers (e.g., by adding, removing, etc.) as drivers are updated.
[0012] Some vendors may generate a universal driver. Such universal drivers may support a subset of imaging devices. The subset of imaging devices may be the imaging devices the vendor manufactures or may be a further subset of imaging devices out of the entirety of the imaging devices the vendor manufactures.
However, a user may still be left to determine whether a particular imaging device is included in the subset of imaging devices supported by the universal driver.
[0013] Accordingly, there may be difficulty in selection of a driver that supports a particular imaging device, as some users may lack technical expertise to make such a selection. Additionally, users are left to manage versions of drivers (e.g., removing old versions, adding new versions) as drivers are updated, which can be difficult.
[0014] Imaging device driver modification according to the disclosure can allow for a driver to be modified by a computing device based on attributes of an imaging device. For example, a computing device can query an imaging device to determine attributes of the imaging device and modify a driver based on the determined attributes so that the computing device can communicate with the imaging device using the modified driver. Modification of the driver by the computing device can prevent a user from having to determine a driver to use for the imaging device, allowing for an easier to use imaging device and increasing consumer satisfaction.
[0015] Figure 1 is an example system 100 including a computing device 102 and imaging devices 104 for imaging device driver modification consistent with the disclosure. The system 100 can include the computing device 102, the imaging device 104, imaging device 105, and a remote server 106.
[0016] As illustrated in Figure 1, the system 100 can include the computing device 102. As used herein, the term “computing device” refers to an electronic system having a processing resource, memory resource, and/or an application- specific integrated circuit (ASIC) that can process information. Examples of computing devices can include, for instance, a laptop computer, a notebook computer, a desktop computer, networking equipment (e.g., router, switch, etc.), and/or a mobile device (e.g., a smart phone, tablet, personal digital assistant, smart glasses, a wrist-wom device, etc.), among other types of computing devices. As used herein, a mobile device can include devices that are (or can be) carried and/or worn by a user. For example, a mobile device can be a phone (e.g., a smart phone), a tablet, a personal digital assistant (PDA), smart glasses, and/or a wrist-wom device (e.g., a smart watch), among other types of mobile devices.
[0017] The system 100 can include the imaging device 104. The imaging device 104 can be a printing device (e.g., a printer). The imaging device 104 can include printing, scanning, faxing, and/or other imaging device functionalities, and can perform print jobs when in receipt of a print job request from the computing device 102, as is further described herein. [0018] The computing device 102 can detennine whether the imaging device 104 is connected to a same network as the computing device 102. For example, the computing device 102 can determine whether it is connected to the imaging device 104 via a wired or wireless connection.
[0019] The wired or wireless network connection can be a network relationship that connects the imaging device 104 to the computing device 102. Examples of such a network relationship can include a local area network (LAN), wide area network (WAN), personal area network (PAN), a distributed computing environment (e.g., a cloud computing environment), storage area network (SAN), Metropolitan area network (MAN), a cellular communications network, Long Term Evolution (LTE), visible light communication (VLC), Bluetooth, Worldwide Interoperability for Microwave Access (WiMAX), infrared (IR) communication, Public Switched Telephone Network (PSTN), radio waves, and/or the Internet, among other types of network relationships.
[0020] The computing device 102 can determine whether the imaging device 104 is connected to the same network as the computing device 102 by a network connectivity test. For example, the computing device 102 can perform a ping test, perform a trace route command, perform a traced command, among other types of network connectivity tests.
[0021] In some examples, the computing device 102 and the imaging device 104 can be connected to the same network. For example, the network connectivity test can indicate to the computing device 102 that it is connected to the same network as the imaging device 104. In response to the imaging device 104 being connected to the same network as the computing device 102, the computing device 102 can query the imaging device 104 directly. As used herein, the term “query” refers to a request generated by a computing device and transmitted to another device to determine information. For example, the computing device 102 can query the imaging device 104 directly through the network connecting the computing device 102 and the imaging device 104.
[0022] The query can be transmitted to a capabilities service of the imaging device 104. For example, the capabilities service of the imaging device 104 can be a database that includes various attributes about the imaging device 104, as are further described herein. [0023] In some examples, the imaging device 104 can be connected to a different network than the computing device 102. For example, the network connectivity test can indicate to the computing device 102 that there is no direct network connection to the imaging device 104. In response to the imaging device 104 being connected to a different network than the computing device 102, the computing device 102 can query the remote server 106. For example, the computing device 102 can query the remote server 106 via a network relationship between the computing device 102 and the remote server 106.
[0024] The query can be transmitted to a database included on the remote server 106. For example, the database can include various attributes about the imaging device 104 that the imaging device 104 has transmitted to the remote server 106, as is further described herein.
[0025] In some examples, the imaging device 104 can be connected to the remote server 106 via a network relationship. The imaging device 104 can transmit attributes of the imaging device 104 to the remote server 106.
[0026] The computing device 102 can determine an attribute of the imaging device 104 based on the query. For example, the query can return information to the computing device 102 that includes an attribute about the imaging device 104. As used herein, the term “attribute” refers to a characteristic that describes a function, feature, and/or identifier associated with an imaging device. For example, attributes of the imaging device 104 can include a page description language of the imaging device 104, a registry identifier of the imaging device 104, a model associated with the imaging device 104, a serial number associated with the imaging device 104, functional capabilities of the imaging device 104, configuration settings of the capabilities of the imaging device 104, among other examples, as are further described herein.
[0027] An attribute can include a page description language of the imaging device 104. As used herein, the term “page description language" refers to a computing language that describes the appearance of a printed medium in a higher level than an output bitmap. For example, the page description language of imaging device 104 can be a computing language in which the imaging device utilizes to describe the appearance of, for example, a piece of paper to be printed during a print job. Examples of page description languages can include, for instance, Printer Control Language (PCL), PostScript Escape Codes, Portable Document Format (PDF), Raster Transfer Language (RTL), among other types of page description languages.
[0028] In some examples, an attribute can include a registry identifier. As used herein, the term “registry identifier” refers to a name that identifies an object or class of object in a registry including information, settings, options, and/or other values for software and/or hardware of an operating system. For example, the registry identifier for the imaging device 104 can include objects to set values in an operating system of the computing device 102.
[0029] In some examples, the attribute can include a model number associated with the imaging device 104. As used herein, the term “model number” refers to a unique number given to a product made by a manufacturer. For example, a manufacturer may produce imaging device 104 with a model number “IGD-001" and produce another imaging device with a model number “IGD-002”. The model number attribute of the imaging device 104 however, can be IGD-001.
[0030] An attribute can include capabilities of the imaging device 104 specific to the model number associated with the imaging device 104. As used herein, the term “capability" refers to a functionality able to be accomplished by the imaging device. For example, imaging device 104 having model number IGD-001 may include different functionalities including color print jobs, duplex print jobs (e.g., printing on both sides of a print medium), print job finishing (e.g., cutting, stapling, lamination, embossing, etc.), compression (e.g., lowering file sizes without changing or losing information in the file), among other types of imaging device capabilities. [0031] An attribute can include a configuration of the capabilities of the imaging device 104. As used herein, the term “configuration” refers to a way in which a device is set up for a particular task. For example, configuration of the capabilities of the imaging device 104 may include whether or not duplex printing is enabled, whether the imaging device 104 is set to color print jobs, whether the imaging device 104 is set to gray scale print jobs, etc.
[0032] Although the attributes of the imaging device 104 are described above as including a page description language of the imaging device 104, a registry identifier, a model number associated with the imaging device 104, capabilities of the imaging device 104, and/or a configuration of the capabilities of the imaging device 104, examples of the disclosure are not so limited. For example, the imaging device 104 can include any other attributes that can describe the settings, function, connectivity, and/or other operational characteristics.
[0033] The computing device 102 can dynamically modify an existing driver for the imaging device 104 based on the determined attribute. For example, the attributes received by the computing device 102 (e.g., in response to the query) can include the model number of the imaging device (e.g., IGD-001), the page description language (e.g., PCL), that the imaging device 105 includes capabilities such as color print jobs, duplex print jobs, and compression functionality, as well as a particular real-time configuration of the imaging device 104 capabilities (e.g., color print jobs and duplex print jobs are enabled). Accordingly, the computing device 102 can modify an existing driver for the imaging device 104 to allow the computing device 102 to communicate with the imaging device 104. That is, the computing device 102 can utilize the modified driver to enable communication between an operating system of the computing device 102 and the imaging device 104 in order to generate a print job, transmit the print job to the imaging device 104, and cause the imaging device 104 to perform the print job, as is further described herein.
[0034] Modification of the driver by the computing device 102 for the imaging device 104 can include modifying a page description language of the driver that corresponds to the imaging device. For example, the driver may include an RTL page description language; the computing device 102 can modify the page description language from RTL to PCL, where PCL corresponds to the imaging device 104.
[0035] Although modification of the driver for the imaging device 102 is described above as modification from RTL to PCL, examples of the disclosure are not so limited. For example, the computing device 102 can modify the driver by modifying any first page description language to a second different page description language that corresponds to the imaging device 104.
[0036] Modification of the driver by the computing device 102 for the imaging device 104 can include generating a function to cause the imaging device 104 to operate according to the attributes of the imaging device 104. As used herein, the term “function” refers to computer-readable instructions that when executed cause a device to perform an action. For example, modifying the driver can include generating functions to allow the computing device 102 to cause the imaging device 104 to perform print jobs according to the attributes of the imaging device 104. For instance, modifying the driver by the computing device 102 may include generating functions to cause the imaging device 104 to perform print jobs according the PCL page description language, perform color print jobs, to perform duplex print jobs, and/or other types of print jobs according to other attributes of the imaging device 104.
[0037] As described above, modification of the driver by the computing device 102 can allow the computing device 102 to generate a print job request for imaging device 104. As used herein, the term “print job request” includes a request to form markings on a physical medium according to a set of data. For example, the print job request can include a color and duplex print job to print a report. The computing device 102 can transmit (e.g., communicate) the generated print job request to the imaging device 104 via the modified driver. The imaging device 104 can, accordingly, perform the print job in response to the print job request. For example, the imaging device 104 can print the report in color and in duplex format.
[0038] As described above, the computing device 102 can query the imaging device 104 (e.g., directly or through the remote server 106), determine attributes about the imaging device 104 based on the query, and modify an existing driver to allow for the computing device 102 to cause the imaging device 104 to perform a print job.
[0039] In some examples, the computing device 102 may query a different imaging device 105. For example, the computing device 102 may be a laptop and a user of the laptop moves from a home environment to an office environment. In such examples, the imaging device 105 may be an unknown imaging device to the computing device 102 (e.g., the computing device 102 may not have been connected to the imaging device 105 in the past to perform print jobs). In some examples, the imaging device 105 may be a different model and/or manufacturer from the imaging device 104.
[0040] Accordingly, the computing device 102 can query the imaging device 105 according to the process described above. For example, the computing device 102 can determine whether the imaging device 105 is connected to a same network as the computing device 102. For example, the computing device 102 can determine whether it is connected to the imaging device 105 via a wired or wireless connection by a network connectivity test. [0041] In some examples, the computing device 102 and the imaging device 105 can be connected to the same network. For example, the network connectivity test can indicate to the computing device 102 that it is connected to the same network as the imaging device 105. In response to the imaging device 104 being connected to the same network as the computing device 102, the computing device 102 can query the imaging device 105 directly. For example, the computing device 102 can query the imaging device 105 directly through the network connecting the computing device 102 and the imaging device 105.
[00421 The query can be transmitted to a capabilities service of the imaging device 105. For example, the capabilities service of the imaging device 105 can be a database that includes various attributes about the imaging device 105.
[0043] In some examples, the imaging device 105 can be connected to a different network than the computing device 102. For example, the network connectivity test can indicate to the computing device 102 that there is no direct network connection to the imaging device 105. In response to the imaging device 105 being connected to a different network than the computing device 102, the computing device 102 can query the remote server 106. For example, the computing device 102 can query the remote server 106 via a network relationship between the computing device 102 and the remote server 106.
[0044] The query can be transmitted to a database included on the remote server 106. For example, the database can include various attributes about the imaging device 105 that the imaging device 105 has transmitted to the remote server 106. For instance, in such an example, the imaging device 105 can be connected to the remote server 106 via a network relationship. The imaging device 105 can transmit attributes of the imaging device 104 to the remote server 106.
[0045] The computing device 102 can determine an attribute of the imaging device 105 based on the query. For example, the query can return information to the computing device 102 that includes the model number of the imaging device (e.g., IGD-002), the page description language (e.g., PostScript), that the imaging device 105 includes capabilities such as duplex print jobs and compression functionality, as well as a particular real-time configuration of the imaging device 104 capabilities (e.g., duplex print jobs are disabled).
[0046] The computing device 102 can modify the driver for use with the imaging device 105 based on the determined attributes of the imaging device 105. For example, modifying the driver can include modifying functions to allow the computing device 102 to cause the imaging device 105 to perform print jobs according to the attributes of the imaging device 105. For instance, modifying the driver by the computing device 102 may include generating functions to cause the imaging device 105 to perform print jobs according the PostScript page description language, to perform duplex print jobs, and/or other types of print jobs according to other attributes of the imaging device 105.
[0047] Modification of the driver by the computing device 102 can allow the computing device 102 to generate a print job request for imaging device 105. For example, the print job request can include a duplex print job to print a report. The computing device 102 can transmit (e.g., communicate) the generated print job request to the imaging device 105 via the modified driver. The imaging device 105 can, accordingly, perform the print job in response to the print job request. For example, the imaging device 105 can print the report in duplex format.
[0048] Imaging device driver modification according to the disclosure can allow a computing device to modify an existing driver for use with different imaging devices having different attributes. For example, a computing device can modify an existing driver for different manufacturers of imaging devices, different models of imaging devices, and/or different imaging devices having different attributes. Modification of a driver by the computing device can allow for the computing device to automatically configure a driver to communicate with various types of different imaging devices, allowing for an easier to use imaging device that allows a user an easier path to printing, increasing customer satisfaction.
[0049] Figure 2 is a diagram of an example computing device 202 for imaging device driver modification consistent with the disclosure. As described herein, the computing device 202 may perform functions related to imaging device driver modification. Although not illustrated in Figure 2, the computing device 202 may include a processor and a machine-readable storage medium. Although the following descriptions refer to a single processor and a single machine-readable storage medium, the descriptions may also apply to a system with multiple processors and multiple machine-readable storage mediums. In such examples, the computing device 202 may be distributed across multiple machine-readable storage mediums and across multiple processors. Put another way, the instructions executed by the computing device 202 may be stored across multiple machine- readable storage mediums and executed across multiple processors, such as in a distributed or virtual computing environment.
[0050] Processing resource 208 may be a central processing unit (CPU), a semiconductor-based microprocessor, and/or other hardware devices suitable for retrieval and execution of machine-readable instructions 212, 214, 216 stored in a memory resource 210. Processing resource 208 may fetch, decode, and execute instructions 212, 214, 216. As an alternative or in addition to retrieving and executing instructions 212, 214, 216, processing resource 208 may include a plurality of electronic circuits that include electronic components for performing the functionality of instructions 212, 214, 216.
[0051] Memory resource 210 may be any electronic, magnetic, optical, or other physical storage device that stores executable instructions 212, 214, 216, and/or data. Thus, memory resource 210 may be, for example, Random Access Memory (RAM), an Electrically-Erasable Programmable Read-Only Memory (EEPROM), a storage drive, an optical disc, and the like. Memory resource 210 may be disposed within computing device 202, as shown in Figure 2. Additionally, memory resource 210 may be a portable, external or remote storage medium, for example, that causes computing device 202 to download the instructions 212, 214, 216 from the portable/extema l/remote storage medium.
[0052] The computing device 202 may include instructions 212 stored in the memory resource 210 and executable by the processing resource 208 to query an imaging device. In some examples, the query can be transmitted directly to a capabilities service of the imaging device when the computing device 202 and the imaging device are connected to the same network. In some examples, the query can be transmitted to a remote server when the computing device 202 and the imaging device are not connected to the same network, where the imaging device can transmit its attributes to the remote server.
[0053] The computing device 202 may include instructions 214 stored in the memory resource 210 and executable by the processing resource 208 to determine an attribute of the imaging device based on the query. For example, the query can return information to the computing device 202 that includes attributes about the imaging device. Attributes can include a page description language of the imaging device, a registry identifier, a model number associated with the imaging device, capabilities of the imaging device, and/or a configuration of the capabilities of the imaging device, among other types of attributes.
[0054] The computing device 202 may include instructions 216 stored in the memory resource 210 and executable by the processing resource 208 to modify a driver for the imaging device based on the determined imaging device attribute. For example, the computing device 202 can generate functions to allow the computing device 202 to cause the imaging device to perform print jobs according to the determined attributes of the imaging device. The computing device 202 can, accordingly, generate a print job request and transmit the print job request to the imaging device to cause the imaging device to perform a print job.
[0055] Figure 3 is a block diagram of an example system 318 for imaging device driver modification consistent with the disclosure. In the example of Figure 3, system 318 includes a processing resource 320 and a non-transitory machine- readable storage medium 322. Although the following descriptions refer to a single processing resource and a single machine-readable storage medium, the descriptions may also apply to a system with multiple processors and multiple machine-readable storage mediums. In such examples, the instructions may be distributed across multiple machine-readable storage mediums and the instructions may be distributed across multiple processors. Put another way, the instructions may be stored across multiple machine-readable storage mediums and executed across multiple processors, such as in a distributed computing environment.
[0056] Processing resource 320 may be a central processing unit (CPU), microprocessor, and/or other hardware device suitable for retrieval and execution of instructions stored in machine-readable storage medium 322. In the particular example shown in Figure 3, processing resource 320 may receive, determine, and send instructions 324, 326, 328, 330. As an alternative or in addition to retrieving and executing instructions, processing resource 320 may include an electronic circuit comprising a number of electronic components for performing the operations of the instructions in machine-readable storage medium 322. With respect to the executable instruction representations or boxes described and shown herein, it should be understood that part or all of the executable instructions and/or electronic circuits included within one box may be included in a different box shown in the figures or in a different box not shown. [0057] Machine-readable storage medium 322 may be any electronic, magnetic, optical, or other physical storage device that stores executable instructions. Thus, machine-readable storage medium 322 may be, for example, Random Access Memory (RAM), an Electrically-Erasable Programmable Read-Only Memory (EEPROM), a storage drive, an optical disc, and the like. The executable instructions may be “installed” on the system 318 illustrated in Figure 3. Machine- readable storage medium 322 may be a portable, external or remote storage medium, for example, that allows the system 318 to download the instructions from the portable/extemal/remote storage medium. In this situation, the executable instructions may be part of an “installation package”.
[0058] Query an imaging device directly instructions 324, when executed by a processor such as processing resource 320, may cause system 318 to query, in response to an imaging device being connected to a same network as the computing device 302, the imaging device directly. For example, the computing device 302 can determine whether the computing device 302 and the imaging device are connected to the same network via a connectivity test, and in response to the imaging device being connected to the same network as the computing device 302, the computing device 302 can query the imaging device directly.
[0059] Query a remote server instructions 326, when executed by a processor such as processing resource 320, may cause system 318 to query, in response to an imaging device being connected to a same network as the computing device 302, the imaging device being connected to a different network than the computing device 302, a remote server connected to the imaging device. For example, the computing device 302 can determine whether the computing device 302 and the imaging device are connected to the same network via a connectivity test, and in response to the imaging device not being connected to the same network as the computing device 302, the computing device 302 can query a remote server, where the imaging device can transmit its attributes to the remote server.
[0060] Determine an attribute instructions 328, when executed by a processor such as processing resource 320, may cause system 318 to determine an attribute of the imaging device based on the query. For example, the query can return information to the computing device 302 that includes attributes about the imaging device. Attributes can include a page description language of the imaging device, a registry identifier, a model number associated with the imaging device, capabilities of the imaging device, and/or a configuration of the capabilities of the imaging device, among other types of attributes.
[0061] Modify a driver instructions 330, when executed by a processor such as processing resource 320, may cause system 318 to modify a driver for the imaging device based on the determined imaging device attribute. For example, the computing device 302 can generate functions to allow the computing device 302 to cause the imaging device to perform print jobs according to the determined attributes of the imaging device. The computing device 302 can, accordingly, generate a print job request and transmit the print job request to the imaging device to cause the imaging device to perform a print job.
[0062] Figure 4 is an example of a method 432 of imaging device driver modification consistent with the disclosure. The method 432 may be performed by a computing device (e.g., computing device 102, 202, previously described in connection with Figures 1-3, respectively) and an imaging device (e.g., imaging device 104, previously described in connection with Figure 1).
[0063] At 434, the method 432 includes determining whether an imaging device is connected to a same network as the computing device. For example, the computing device can determine whether the computing device and the imaging device are connected to the same network via a connectivity test.
[0064] At 436, the method 432 includes querying the imaging device directly to determine an attribute of the imaging device. For example, the computing device can query the imaging device directly in response to the imaging device being connected to the same network as the computing device.
[0065] At 438, the method 432 includes querying a remote server to determine the attribute of the imaging device. For example, the computing device can query a remote server in response to the imaging device being connected to a different network than the computing device. The imaging device can transmit its attributes to the remote server via a network relationship between the imaging device and the remote server.
[0066] At 440, the method 432 includes modifying a driver for the imaging device based on the determined imaging device attribute. For example, the computing device can generate functions to allow the computing device to cause the imaging device to perform print jobs according to the determined attributes of the imaging device. The computing device can, accordingly, generate a print job request and transmit the print job request to the imaging device to cause the imaging device to perform a print job.
[0067] In the foregoing detailed description of the disclosure, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration how examples of the disclosure may be practiced. These examples are described in sufficient detail to enable those of ordinary skill in the art to practice the examples of this disclosure, and it is to be understood that other examples may be utilized and that process, electrical, and/or structural changes may be made without departing from the scope of the disclosure. Further, as used herein, “a” can refer to one such thing or more than one such thing.
[0068] The figures herein follow a numbering convention in which the first digit corresponds to the drawing figure number and the remaining digits identify an element or component in the drawing. For example, reference numeral 102 may refer to element 102 in Figure 1 and an analogous element may be identified by reference numeral 202 in Figure 2. Elements shown in the various figures herein can be added, exchanged, and/or eliminated to provide additional examples of the disclosure. In addition, the proportion and the relative scale of the elements provided in the figures are intended to illustrate the examples of the disclosure, and should not be taken in a limiting sense.
[0069] It can be understood that when an element is referred to as being "on," "connected to", “coupled to”, or "coupled with" another element, it can be directly on, connected, or coupled with the other element or intervening elements may be present. In contrast, when an object is “directly coupled to" or “directly coupled with” another element it is understood that are no intervening elements (adhesives, screws, other elements) etc.
[0070] The above specification, examples and data provide a description of the method and applications, and use of the system and method of the disclosure. Since many examples can be made without departing from the spirit and scope of the system and method of the disclosure, this specification merely sets forth some of the many possible example configurations and implementations.

Claims

What is claimed is:
1. A computing device, comprising: a processing resource; and a memory resource storing non-transitory machine-readable instructions to cause the processing resource to: query an imaging device; determine an attribute of the imaging device based on the query; and modify a driver for the imaging device based on the determined imaging device attribute.
2. The computing device of claim 1 , wherein the processing resource is to determine whether the imaging device is connected to a same network as the computing device.
3. The computing device of claim 2, wherein the processing resource is to query, in response to the imaging device being on the same network as the computing device, the imaging device directly.
4. The computing device of claim 2, wherein the processing resource is to query, in response to the imaging device being on a different network as the computing device, the imaging device by querying a remote server, wherein the remote server includes the attribute of the imaging device.
5. The computing device of claim 1 , wherein the processing resource is to modify the driver for the imaging device by at least one of: modifying a page description language of the driver that corresponds to the imaging device; generating a function to cause the imaging device to operate according to the attribute of the imaging device; and modifying the function to cause the imaging device to operate according to a different attribute of the imaging device.
6. The computing device of claim 1 , wherein in response to connecting to a different imaging device, the processing resource is to: determine a different attribute of the different imaging device based on a query to the different imaging device; and modify the driver for use with the different imaging device based on the determined different attribute of the different imaging device.
7. A non-transitory machine-readable medium including instructions that when executed cause a processing resource to: query, in response to an imaging device being connected to a same network as a computing device including the processing resource, the imaging device directly; and query, in response to the imaging device being connected to a different network than the computing device, a remote server connected to the imaging device; determine an attribute of the imaging device based on the query; and modify a driver for the imaging device based on the determined imaging device attribute.
8. The medium of claim 7, wherein the imaging device attribute includes a page description language of the imaging device.
9. The medium of claim 7, wherein the imaging device attribute includes at least one of: a registry identifier; and a model number associated with the imaging device.
10. The medium of claim 9, wherein the imaging device attribute includes a capability of the imaging device specific to the model number associated with the imaging device.
11. The medium of claim 10, wherein the imaging device attribute includes a configuration of the capabilities of the imaging device.
12. A method, comprising: determining, by a computing device, whether an imaging device is connected to a same network as the computing device; querying, by the computing device in response to the imaging device being connected to the same network as the computing device, the imaging device directly to determine an attribute of the imaging device; querying, by the computing device in response to the imaging device being connected to a different network than the computing device, a remote server to determine the attribute of the computing device; and modifying, by the computing device, a driver for the imaging device based on the determined imaging device attribute.
13. The method of claim 12, wherein the method includes transmitting, by the imaging device to the remote server, the attribute of the imaging device.
14. The method of claim 12, wherein the method includes generating and transmitting, by the computing device, a print job request to the imaging device via the modified driver.
15. The method of claim 14, wherein the method includes performing, by the imaging device, a print job in response to the print job request from the computing device.
PCT/US2020/031813 2020-05-07 2020-05-07 Imaging device driver modification WO2021225594A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2020/031813 WO2021225594A1 (en) 2020-05-07 2020-05-07 Imaging device driver modification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/031813 WO2021225594A1 (en) 2020-05-07 2020-05-07 Imaging device driver modification

Publications (1)

Publication Number Publication Date
WO2021225594A1 true WO2021225594A1 (en) 2021-11-11

Family

ID=78468223

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2020/031813 WO2021225594A1 (en) 2020-05-07 2020-05-07 Imaging device driver modification

Country Status (1)

Country Link
WO (1) WO2021225594A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0864964B1 (en) * 1997-03-13 2004-03-03 Hewlett-Packard Company, A Delaware Corporation Printer driver switching in windows operating systems
US20050012951A1 (en) * 2003-07-18 2005-01-20 Madril Robert J. Printer driver management
US20060023246A1 (en) * 1999-07-23 2006-02-02 Electronics For Imaging, Inc. Apparatus and methods for transferring printer driver preferences

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0864964B1 (en) * 1997-03-13 2004-03-03 Hewlett-Packard Company, A Delaware Corporation Printer driver switching in windows operating systems
US20060023246A1 (en) * 1999-07-23 2006-02-02 Electronics For Imaging, Inc. Apparatus and methods for transferring printer driver preferences
US20050012951A1 (en) * 2003-07-18 2005-01-20 Madril Robert J. Printer driver management

Similar Documents

Publication Publication Date Title
US10884675B2 (en) Image forming apparatus and method for the same
US8773691B2 (en) Printing control apparatus, printing control method, and storage medium
US8804147B2 (en) Semantic printing options
US8817281B2 (en) Print setting server, document processing server, print system, and print setting method
US20150222785A1 (en) Display apparatus, method of controlling operations of the same, and network system
US20090177806A1 (en) Distribution apparatus, image processing apparatus, monitoring system, and information processing method
US7936469B2 (en) System and method for distributed printer processing
US10241734B2 (en) Multi-worker approach for printer data collection in timely situations
US20170272587A1 (en) Data processing apparatus and print system
JP2019220756A (en) Server system, printing device, control method, and communication system
US10338870B2 (en) Electronic device suitable for writing information to wireless tag
CN107977171B (en) Print management apparatus and computer-readable medium storing print management program
US9141321B1 (en) Configurable printer server device
US11003397B2 (en) Printing computing device for processing a print job to print a document at a multi-function printing device
JP2019219742A (en) Server system, communication device, communication method, and communication system
WO2021225594A1 (en) Imaging device driver modification
US11567706B1 (en) Printing device reconfiguration according to settings previously saved by server device
CN112685613B (en) Resource package query method and device and information processing system
US11604615B2 (en) Printing system for suppressing wasteful transmission of notification information
US20120250056A1 (en) Image processing apparatus, data processing method of image processing apparatus, and storage medium
US11169955B2 (en) Remote device configurations
US9372650B2 (en) Communication control method in image forming system which comprises a plurality of applications and an image forming apparatus and in which at least a print job described in JDF code is transmitted from said applications to said image forming apparatus and a message described in JMF code is exchanged between said applications and said image forming apparatus, storage medium stored with program for said image forming system, and said image forming system
JP7040166B2 (en) Information processing equipment, image forming equipment, systems and programs
JP2016110446A (en) Gui control system, gui control method, program for gui control system, and computer-readable recording medium recorded with program for gui system
JP2016015096A (en) Image forming system and image forming apparatus

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20934393

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20934393

Country of ref document: EP

Kind code of ref document: A1