WO2021225594A1 - Imaging device driver modification - Google Patents
Imaging device driver modification Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/1232—Transmitting printer device capabilities, e.g. upon request or periodically
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1224—Client or server resources management
- G06F3/1226—Discovery 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
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.
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)
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 |
-
2020
- 2020-05-07 WO PCT/US2020/031813 patent/WO2021225594A1/en active Application Filing
Patent Citations (3)
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 |
---|---|---|
US9479674B2 (en) | Display apparatus, method of controlling operations of the same, and network system | |
US8773691B2 (en) | Printing control apparatus, printing control method, and storage medium | |
US20120268783A1 (en) | Image forming apparatus and method for the same | |
US8804147B2 (en) | Semantic printing options | |
EP3171581B1 (en) | Print device monitoring method and system, and print monitoring server | |
US8817281B2 (en) | Print setting server, document processing server, print system, and print setting method | |
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 | |
US10466668B2 (en) | Information processing apparatus, system, control method, and storage medium | |
US10338870B2 (en) | Electronic device suitable for writing information to wireless tag | |
US11003397B2 (en) | Printing computing device for processing a print job to print a document at a multi-function printing device | |
JP2019220756A (en) | Server system, printing device, control method, and communication system | |
CN107977171B (en) | Print management apparatus and computer-readable medium storing print management program | |
US9141321B1 (en) | Configurable printer server device | |
US20190191049A1 (en) | Image Formation Apparatus, System, Method and Computer Readable Storage Medium | |
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 | |
US11604615B2 (en) | Printing system for suppressing wasteful transmission of notification information | |
JP2016110446A (en) | Gui control system, gui control method, program for gui control system, and computer-readable recording medium recorded with program for gui system | |
US20120250056A1 (en) | Image processing apparatus, data processing method of image processing apparatus, and storage medium | |
US11169955B2 (en) | Remote device configurations | |
JP7040166B2 (en) | Information processing equipment, image forming equipment, systems and programs |
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 |