WO2020110767A1 - 情報処理装置、サーバ装置、制御方法、制御プログラム - Google Patents

情報処理装置、サーバ装置、制御方法、制御プログラム Download PDF

Info

Publication number
WO2020110767A1
WO2020110767A1 PCT/JP2019/044805 JP2019044805W WO2020110767A1 WO 2020110767 A1 WO2020110767 A1 WO 2020110767A1 JP 2019044805 W JP2019044805 W JP 2019044805W WO 2020110767 A1 WO2020110767 A1 WO 2020110767A1
Authority
WO
WIPO (PCT)
Prior art keywords
printer driver
application
image forming
extended application
information processing
Prior art date
Application number
PCT/JP2019/044805
Other languages
English (en)
French (fr)
Inventor
洋史 菊地
Original Assignee
キヤノン株式会社
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 キヤノン株式会社 filed Critical キヤノン株式会社
Priority to CN201980077365.5A priority Critical patent/CN113168296B/zh
Priority to EP19890441.9A priority patent/EP3893102A4/en
Publication of WO2020110767A1 publication Critical patent/WO2020110767A1/ja
Priority to US17/328,424 priority patent/US11625205B2/en

Links

Images

Classifications

    • 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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • 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/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • 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/123Software or firmware update, e.g. device firmware management
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1231Device related settings, e.g. IP address, Name, Identification

Definitions

  • the present invention relates to an information processing device, a server device, etc. that communicate with an image forming device.
  • An operating system is installed in the host computer, the printer driver is configured according to the specifications defined by the OS, and is called by the OS to operate.
  • a vendor who provides a printing apparatus can provide a means for instructing a printer to print using the OS by providing a printer driver suitable for the printing apparatus that conforms to the specifications of the OS.
  • a printer driver called a universal printer driver is known as a printer driver for controlling a plurality of types of printing apparatuses having different functions (Patent Document 1).
  • the universal printer driver as disclosed in Patent Document 1 is provided for each vendor that provides a printing device. However, it is difficult for one universal printer driver to support printing devices of vendors that provide different printing devices.
  • Non-Patent Document 1 a so-called common printer driver that uses a mechanism compliant with IPP typified by the above-mentioned IPP Everywhere (registered trademark) (Non-Patent Document 1).
  • an information processing apparatus in which a printer driver can be installed and which can communicate with a server apparatus and an image forming apparatus, a receiving unit that receives identification information of the image forming apparatus and a receiving unit that receives the receiving information.
  • the transmitting means for transmitting the identification information of the image forming apparatus to the server apparatus, and the identification information of the image forming apparatus which is the extended application transmitted from the server apparatus and transmitted by the transmitting means.
  • An information processing apparatus having an execution unit that executes processing for associating the corresponding extended application with the printer driver is disclosed as an example.
  • an extended application that can utilize the function of the image forming apparatus can be associated with a predetermined printer driver.
  • FIG. 3 illustrates an example of a printing system according to the first exemplary embodiment. It is a block diagram which shows the hardware constitutions of a client computer. It is a block diagram which shows the software structure of a client computer.
  • FIG. 3 is a diagram showing a relationship with a printer, a printer queue, and a print extension application.
  • FIG. 9 is a flow chart of association between printer queue generation and a print extension application. It is a related flowchart of a printer driver and a print extension application of the related art.
  • FIG. 6 is a flow chart of associating a printer driver and a print extension application according to the embodiment. It is a flowchart of the process which an extended application search server performs.
  • FIG. 6 is a correspondence table between a printer HWID and a print extension application. It is a figure which shows an example of the printing system in 2nd Embodiment.
  • FIG. 7 is a flow chart of associating a common printer driver with a print extension application. It is a flowchart of the process which an extended application delivery server performs.
  • FIG. 8 is a flowchart of a process of determining whether the print extension application supports a printer queue.
  • FIG. 1 is a diagram showing an example of a printing system according to the present invention.
  • the printing system according to the present exemplary embodiment includes a client computer 101, a printer A 102 that receives print data in a page description language (PDL) format, and performs printing, and various servers.
  • the various servers specifically include a distribution server 105 that distributes the extended application and a search server 106 that acquires a desired extended application from the distribution server 105. Further, it includes a driver distribution server 107 that distributes the driver, and a metadata distribution server 308 that distributes a device management unit (hereinafter, referred to as metadata) associated with the driver.
  • the devices can communicate with each other through a network 104 including a Wide Area Network (WAN).
  • WAN Wide Area Network
  • the printers 102 and 103 may be single-function printers having only a printing function or multifunction printers having a printing function, a scanning function, and a copying function.
  • the client computer 101 is not limited to one unit, but a plurality of client computers 101 may be connected to the network 104.
  • the client computer 101 can send print data to the printer 102 or the like.
  • the printer driver may be a scanner driver.
  • the printer extension application may be a scanner extension application.
  • FIG. 2 is a block diagram showing the hardware configuration of the client computer 101 of FIG.
  • the client computer 101 has a CPU (Central Processing Unit) 201, a RAM (Random Access Memory) 202, an external memory 209, and a ROM (Read Only Memory) 203.
  • CPU Central Processing Unit
  • RAM Random Access Memory
  • ROM Read Only Memory
  • the control unit 200 including the CPU 201 controls the operation of the entire client computer 101.
  • the CPU 201 expands a program stored in the ROM 203 or the external memory 209 in the RAM 202, and executes the program to perform various controls such as control of a UI screen, generation of print data, and transfer of print data.
  • the ROM 203 stores a control program, a boot program, etc. that can be executed by the CPU 201.
  • the RAM 202 is a main memory of the CPU 201, and is used as a work area or a temporary storage area for developing various programs.
  • the external memory 209 connected to the control unit 200 via the external memory I/F 208 stores the OS 210, the application 212, the application execution environment 213, the printer driver 211, and the like.
  • an auxiliary storage device such as a HDD (Hard Disk Drive) is assumed as the external memory 209, but a nonvolatile memory such as SSD (Solid State Drive) may be used instead of the HDD.
  • a nonvolatile memory such as SSD (Solid State Drive) may be used instead of the HDD.
  • the hardware such as the CPU 201, the ROM 203, the RAM 202, and the external memory 209 configures a so-called computer.
  • the operation input device I/F 204 is an interface that controls the operation input device 205 such as a keyboard, a pointing device (mouse), and a touch input device.
  • the operation input device 205 functions as a reception unit that receives an operation from the user.
  • the display I/F 206 controls the display of the screen on the display 207.
  • the display 207 functions as a display unit that displays information to the user.
  • the control unit 200 is connected to the network 104 via the network I/F 214.
  • the network I/F 214 transmits print data to a printer on the network 104 and receives extended applications and printer drivers from various servers on the network 104.
  • the data communication with the external terminal on the network 104 is, for example, wireless communication conforming to the IEEE 802.11 series, mobile communication system such as LTE or 5G, or communication via a cable such as a LAN cable.
  • the software in the client computer 101 is composed of three layers, an OS 210, an application execution environment 213, and an application 212.
  • the OS 210 is mainly composed of a printing system 337, a printer driver 211, an external setting file group 352, and a thread pool 355.
  • the metadata 320 included in the external setting file group 352 has a print extension application identifier of the print extension application 300 and an HWID (HardwareId) identifier of the printer queue 308 of the printer driver 211, and has a role of associating each.
  • HWID HardwareId
  • the printer driver 211 made by Microsoft (registered trademark) and the print extension application 300 cannot be associated with each other by the metadata 320.
  • the registry 353 is an area in which a setting group of the OS 210 is described. Values can be entered in the Key And Value system, and settings for each printer queue can be entered. In the registry 353, a policy setting indicating whether to activate or deactivate the background task activation by the print activation application launcher 350, the identifier of the print extension application 300 associated with the printer driver 211, and the like are registered. There is. The settings registered in the registry 353 can be changed via the setting screen of the OS 210.
  • the printer queue 308 is an area where a print job is temporarily stored when printing is performed using a printer existing in the network 104, and a plurality of printer queues 308 can exist. In this embodiment, it is assumed that printer queues corresponding to the printers 102 and 103 have been created.
  • the spooler 325 is a module that temporarily stores and manages an XPS (XML Paper Specification) file that is print target data printed from any of the applications 212.
  • the XPS file saved in the spooler 325 is converted to PDL (Page Description Language) through the filter pipeline manager 335, and then transmitted to the printer 102 through the spooler 325.
  • PDL Peage Description Language
  • the filter pipeline manager 335 is a module that loads one or more filters 330 and converts an XPS file into a PDL file.
  • the filter pipeline manager 335 is configured as a part of the print architecture (also referred to as a print system) provided by the OS 210.
  • the OS 210 reads one or more filters 330, which are one of the elements configuring the printer driver 211, based on the definition of the filter config 336, and generates a PDL using the one or more filters.
  • the PDL for example, PCL or PDF can be adopted.
  • the configuration module 331 is a module that creates and changes a PrintTicket (also called a print ticket). Further, the module 331 has a prohibition function of restricting settings that cannot be combined. The configuration module also manages PrintCapabilities, which is printer capability information.
  • the detailed print setting UI unit 304, the print activation background task unit 305, and the print activation UI unit 303 of the print extension application 300 can call the API provided by the configuration module 331. By calling the API, each unit can acquire the PrintTicket and PrintCapabilities in the XML (Extensible Markup Language) format.
  • XML Extensible Markup Language
  • the printer driver 211 provides the OS 211 with a device function text file 332 in which prohibition rules and device functions are described and a script file 333.
  • the operation of the configuration module 331 is customized based on the files 332 and 333.
  • the print start application launcher 350 is a module that controls the execution of the background task provided by the print start background task unit 305 and the like.
  • the launcher 350 activates the print-time activation background task unit 305 when the OS 210 detects that the user has input a print start instruction and performs printing. If the registry 353 stores a setting for disabling the activation of the background task, the OS 210 suppresses the execution of the background task.
  • the printer driver 211 includes a filter 330, a filter config 336, a script file 333, a device function text file 332, and an INF 361, and is stored in the driver storage area 370.
  • the filter 330 is a filter called by the filter pipeline manager 335, and has a function of converting the input XPS file into PDL and outputting it.
  • the filter config 336 is a definition file referenced by the filter pipeline manager 335, and describes the order of calling one or more filters 330.
  • the script file 333 and the device function text file 332 are files called by the configuration module 331, and the operation of the configuration module 331 can be customized.
  • the INF 361 is a text file in which setting information for installing the printer driver 211 is described.
  • the thread pool 355 is a module that stores threads used when various modules of the applications 212 and the OS 210 are executed.
  • the application execution environment 213 includes a desktop application execution environment 323 and a touch application execution environment 301.
  • the touch application execution environment 301 is an execution environment for executing the touch application 321 and the print extension application 300 that operate on the OS 210, which is a type of application 212 described later.
  • the execution environment 301 is an execution environment for operating the extended application distributed from the distribution server 105, and controls the execution of the extended application.
  • the desktop application execution environment 323 is an execution environment for executing a desktop application 322 which is a kind of the application 212 described later.
  • the desktop application execution environment 323 controls execution of applications that can be executed from the desktop.
  • the application 212 includes three types of applications: a touch application 321, a print extension application 300, and a desktop application 322.
  • the touch application 321 is an application that operates in the touch application execution environment 301.
  • the touch application 321 is downloaded and installed in the client computer 101 through an application distribution system published on the Internet.
  • the touch application 321 is packaged and signed with a necessary module group, and calls to the API in the OS 210 are restricted.
  • the print extension application 300 is a kind of the touch application 321, and operates on the touch application execution environment 301 similarly to the touch application 321.
  • the OS 210 acquires the print extension application 300 from the application distribution system via the Internet.
  • the print extension application 300 according to the present embodiment has a print UI display function for displaying a customized UI when printing.
  • the print extension application 300 can be associated with the printer driver 211 provided by the printer vendor via the metadata 320. Further, in the case of being associated with a common printer driver commonly used for printers provided by a plurality of printer vendors, the association is performed using the INF 361 and the registry 353. This will be described later with reference to FIG.
  • the print extension application 300 includes a tile application unit 302, a detailed print setting UI unit 304, a print activation background task unit 305, and a print activation UI unit 303.
  • the tile application unit 302 is a UI unit that is executed in response to receiving a user operation for starting the extension application 300, and provides functions such as status display of registered printers.
  • the detailed print setting UI unit 304 is a UI unit that is executed in response to the reception of the detailed print setting event issued by the OS 210.
  • the detailed print setting UI unit 304 generates and displays a print setting UI based on PrintTicket and PrintCapabilities acquired from the configuration module 331 through the API.
  • the UI unit 304 appropriately changes the setting of PrintTicket according to the user operation, and returns it to the configuration module 331.
  • the background task part 305 activated at the time of printing is a component corresponding to the background task to be executed when a print event is issued.
  • the task provided by the task unit 305 has a limited lifetime and is forcibly terminated by the OS 210 after a certain period of time has elapsed.
  • the background task unit 305 activated at the time of printing can acquire and read/write the PrintTicket through the API of the configuration module 331. It is defined that the background task determines whether or not to activate the print-time activation UI unit 303, and requests the OS 210 to activate the print-time activation UI unit 303, which is a component of the foreground task, as necessary. .. Further, by reading/writing the changed value to/from the app store 334, the value can be transferred to/from the print start UI unit 303. If the launcher 350 determines not to activate the print activation UI unit 303, the launcher 350 generates print data without activating the print extension application 300.
  • the print startup UI unit 303 started by the background task can edit the XPS or PrintTicket, which is the data to be printed, and return it to the OS 210.
  • the OS 210 boots the print boot UI unit 303.
  • the print startup UI unit 303 can acquire the PrintTicket and PrintCapabilities and change the setting, and can also acquire the XPS file of the data to be printed.
  • the print activation UI unit 303 displays a UI for confirming the printing, a UI for allowing the user to input a setting that has not been input, and the like.
  • the setting file 362 is a file in which setting values of the print extension application 300 are described.
  • a print extension application identifier uniquely indicating the print extension application 300 and a custom setting file to be used are described.
  • the custom setting file 363 is a setting file that describes service settings that the print extension application 300 can use for the printer driver 211.
  • the common printer driver is, for example, a common printer driver compatible with a printer compatible with Mozilla (registered trademark) that can perform printing using IPP.
  • a user having a printer compatible with Mozilla (registered trademark) can easily perform printing using the common printer driver without installing a printer driver manufactured by a printer vendor.
  • the common printer driver does not depend on the printer vendor, it can be similarly used for the printer of any printer vendor.
  • FIG. 4 is a diagram showing a relationship between the print queues 502 and 503 of the common printer driver for the printer A 102 and the printer B 103 and the print extension application 300.
  • the printer queue 502 of the common printer driver corresponds to the printer A 102
  • the printer queue 503 of the common printer driver corresponds to the printer B 103.
  • the common printer driver generates print data and issues a print job for both printers.
  • the common printer driver can acquire a certain amount of capability information from the printer A 102 and the printer B 103 and can perform print settings according to each capability.
  • the common printer driver has few types of print settings that can be set in order to support a plurality of printers of a plurality of vendors.
  • the print expansion application 300 supplements this.
  • the print extension application 602 for printer A is the print extension application 300 specialized for printer A
  • the print extension application 603 for printer B is the print extension application 300 specialized for printer B.
  • the print extension application 300 is created by a printer vendor.
  • the common printer driver is software that does not depend on the type of printer, but the print extension application 300 can make finer print settings for each printer.
  • a flow for associating the print extension application 300 according to the printer type with the common printer driver is required. The flow of association will be described later with reference to FIG. Note that “association” specifically means that the OS 210 registers the identifier of the print extension application 300 associated with the printer driver 211 in the registry 353, for example.
  • the identifier of the print extension application 300 to be associated with the identifier of the printer driver 211 can be registered in association with each other. It is possible to register not only a one-to-one correspondence table but also a plurality of extended applications in association with the printer driver 211.
  • the OS 21 can display the detailed print setting UI section of the associated print extension application 300 and the print start UI section 303 when the printer driver 211 is used.
  • FIG. 5 is a diagram showing a flow for associating the common printer driver with the print extension application.
  • FIG. 5 shows processing of the OS 210 of the client computer 101. The processing of the OS 210 described here is loaded into the RAM 202 and executed by the CPU 201.
  • the OS 210 searches for the printer in the network and displays it for the user (S101).
  • the printer is introduced into the OS 210, for example, a new printer is discovered on the network or the local interface and a predetermined event occurs. Alternatively, the printer installation may be started according to the user's instruction.
  • the OS 210 receives a user input from all the searched printers for which printer the printer driver 211 is to be installed (S102).
  • the OS 210 installs the printable printer driver 211 in the printer specified by the user and creates the printer queue 308 (S103).
  • the OS 210 acquires the print extension application 300 based on the HWID of the printer and associates it with the printer queue 308 generated in S103 (S105).
  • S105 printer queue 308 generated in S103
  • FIG. 6 is a flow chart showing the processing of the OS 210 as a comparative example regarding the processing of S105 in the OS 210.
  • the processing of the OS 210 described here is also loaded into the RAM 202 and executed by the CPU 201.
  • the OS 210 inquires of the metadata delivery server 108 whether the corresponding metadata 320 exists based on the HWID of the printer (S301).
  • the OS 210 confirms whether the metadata 320 exists (S302), and when it does not exist, the processing ends. If the metadata 320 corresponding to the HWID acquired in S104 exists, the OS 210 downloads the metadata 320 (S303). Then, the metadata 320 is associated with the printer queue 308 (S304).
  • the OS 210 refers to the downloaded metadata 320 and acquires the application identifier of the print extension application 300 from the metadata 320 (S305). Then, the OS 210 makes an inquiry about the print extension application 300 to the extension application distribution server 107 based on the application identifier (S306). The OS 210 confirms whether the print extension application 300 exists (S307). When it is confirmed in S307 that there is not, the processing ends. When it is confirmed that the print extension application 300 exists in S307, the OS 210 downloads the print extension application 300 (S308). Next, the OS 210 installs the downloaded print extension application 300 (S309). Further, the OS 210 associates the installed print extension application 300 with the printer queue 308 (S310). In this way, the printer queue 308 and the print extension application 300 are associated with each other via the metadata 320.
  • FIG. 7 is a flowchart showing the processing of the OS 210 in this embodiment regarding the processing of S106 of FIG. 5 in the OS 210.
  • the processing of the OS 210 described here is also loaded into the RAM 202 and executed by the CPU 201.
  • the OS 210 inquires of the search server 106 whether or not the corresponding print extension application 300 exists based on the printer HWID acquired in S104 (S201).
  • the OS 210 confirms whether the print extension application 300 corresponding to the HWID exists (S202). If it is confirmed in S202 that it does not exist, the process ends.
  • the OS 210 downloads the print extension application 300 (S203).
  • the OS 210 confirms whether the downloaded print extension application 300 corresponds to the printer driver 211 (S204). Specifically, the OS 201 transmits the HWID of the printer acquired in S104 to the search server 106. In response to this, the OS 210 receives the list of print extension applications 300 corresponding to the HWID. As a result, it is confirmed in S202 whether there is an application corresponding to the HWID.
  • the OS 210 first acquires the corresponding driver identifier from the downloaded print extension application 300 (S801).
  • the print extension application 300 holds the identifier of the corresponding printer driver. As a result, the print extension application 300 can avoid being associated with an unexpected printer driver.
  • the OS 210 confirms whether the driver identifier of the printer queue 308 exists in the corresponding driver identifier (S802). When it is confirmed that the print queue exists in step S ⁇ b>802, the OS 210 determines that the print extension application 300 corresponds to the printer queue 308. If it is confirmed in step S ⁇ b>802 that it does not exist, the OS 210 determines that the print extension application 300 does not support the printer queue 308.
  • the OS 210 ends without associating.
  • the OS 210 installs the downloaded print extension application 300 (S205).
  • the OS 210 associates the installed print extension application 300 with the printer queue 308 (S206).
  • the OS 210 does not use the metadata 320 for associating the printer queue 308 and the print extension application 300, but directly associates them.
  • the printer queue 308 of the common printer driver made by Microsoft registered trademark
  • the OS 210 can also perform the process of FIG. 6 and the process of FIG. 7 separately when making the association. For example, whether the relevant metadata 320 exists in the metadata delivery server 108 or not may be used to determine whether to perform association using the metadata 320 or directly associate with the print extension application 300.
  • the printer driver to be associated is a vendor printer driver
  • the process of FIG. 6 may be performed
  • the printer driver is a common printer driver
  • the process of FIG. 7 may be performed. By doing so, it is possible to support the association with the common printer driver while utilizing the assets of the conventional metadata 320.
  • the extended search server can have a hardware configuration similar to that of FIG. Specifically, this is a process performed by the search server 106 when the OS 210 of the client computer 101 inquires the print extension application 300 corresponding to the HWID in S201 of FIG.
  • the processing of the search server 106 described here is loaded into the RAM existing in the search server 106 and executed by the CPU in the search server 106.
  • the search server 106 accepts a request for the print extension application 300 with an HWID from any client computer 101 (S401).
  • the search server 106 acquires the correspondence table between the HWID and the print extension application held therein (S402).
  • the search server 106 holds the correspondence table between the printer HWID and the print extension application shown in FIG.
  • the printer HWID 501 is a unique ID for each printer model, and different IDs are provided for different printer models.
  • the print extension application name 502 is the name of the print extension application and is a name that can be easily identified by general users.
  • the application identifier (AppID) 503 is an identifier managed by the distribution server 105, and the distribution server 105 can specify the corresponding print extension application 300 from all extension applications by the application identifier.
  • the correspondence table shown in FIG. 10 can be updated every time the print extension application 300 is newly developed and registered. For example, the update correspondence table is transmitted from the external device to the distribution server 105 via the network. Then, the old correspondence table can be updated in the distribution server 105 using the new correspondence table.
  • a printer vendor can simultaneously register one HWID of a printer to be associated when registering one print extension application 300. Furthermore, a plurality of application identifiers may be provided for the HWID of one printer. In any case, the registered content is added to the correspondence table of FIG. In the example of FIG. 10, one application identifier is registered for each printer. Also, for example, PrinterAAA may be allowed to appear twice in column 501. This means providing a plurality of extended printer applications for one printer.
  • the search server 106 When the search server 106 obtains the correspondence table, the search server 106 confirms whether the print extension application 300 corresponding to the HWID received from the client computer 101 exists in the correspondence table (S403).
  • the search server 106 searches the table of FIG. 10 and confirms that the identifier of the application corresponding to PrinterAAA is AAA01. Then, the search server 106 can notify the client of AAA01 and the print extension application name PrintAppAAA.
  • the HWID here is acquired by the client computer from the printer.
  • the search server 106 returns an error to the requesting client computer 101 (S409), and ends the processing. If it is confirmed in S403 that the print extension application 300 exists, the search server 106 acquires the application identifier of the print extension application 300 (S404). Then, the search server 106 inquires of the distribution server 105 about the print extension application 300 based on the application identifier (S405). The search server 106 confirms whether the print extension application 300 requested by the distribution server 105 exists (S406). If it is confirmed in S406 that it does not exist, the search server 106 returns an error to the requesting client computer 101 (S409).
  • the search server 106 downloads the print extension application 300 (S407). Then, the search server 106 enables the acquired print extension application 300 to be downloaded from the requesting client computer 101 (S408). Then, in step S408, the client computer is notified of the list of downloadable print extension applications 300.
  • the print extension application may be listed in multiple lists. In response to this notification, the client computer may automatically confirm that the print extension application 300 exists and download it (S308).
  • the search server 106 performs the process of FIG.
  • the distribution server 105 can provide the appropriate print extension application 300 for both the common printer driver and the printer driver manufactured by the printer vendor without changing the operation.
  • the method in which the search server 106 downloads the actual print extension application 300 in advance in S407 has been described.
  • S407 it is also possible to adopt a method of enabling download from the extended application distribution server after the acquisition request from the client computer 101 arrives without downloading.
  • the processing flow performed by the distribution server 105 will be described with reference to FIG. Specifically, the process is performed by the distribution server 105 when the client computer 101 makes an inquiry to the distribution server 105 in S306 of FIG. 7 or when the search server 106 makes an inquiry to the distribution server 105 in S405 of FIG.
  • the processing of the distribution server 105 described here is loaded into a RAM (not shown) existing in the distribution server 105 and executed by a CPU (not shown) in the distribution server 105.
  • the distribution server 105 receives a print extension application request by an application identifier from any client computer 101 or search server 106 (S501). When the request arrives, the distribution server 105 confirms whether the print extension application 300 having the application identifier is held (S502).
  • the distribution server 105 If not stored, the distribution server 105 returns an error to the requesting client computer 101 or the search server 106 (S501) and ends the processing. If it is held, the distribution server 105 identifies the print extension application 300 having the specified application identifier (S503). Then, the distribution server 105 enables the specified print extension application 300 to be downloaded from the request source (S501). In this way, the distribution server 105 may perform the same processing regardless of the request source. When downloadable, the extended application can be downloaded in response to a request from the client computer 101.
  • the same reference numerals denote the same devices and functions unless otherwise specified.
  • the description will focus on the parts that are different from the first embodiment.
  • the example in which the search server 106 performs the process of searching for the print extension application 300 corresponding to the HWID has been described.
  • the existence of the search server 106 is not essential.
  • the distribution server 105 can also be implemented by having the function of the search server 106, it will be described as a second embodiment. That is, it is possible that 105 and 106 are integrated.
  • FIG. 11 shows the configuration of the printing system in the second embodiment. Although the configuration is almost the same as that of FIG. 1 in the first embodiment, the difference is that the search server 106 does not exist. Since the details of each component have been described above, they are omitted here. The contents described with reference to FIGS. 2 to 5 and 7 in the first embodiment can also be applied to the second embodiment, and the description thereof will be omitted.
  • FIG. 12 is a flowchart showing in more detail the process of S105 of FIG. 5 in the OS 210 of the client computer 101.
  • the processing of the OS 210 described here is also loaded into the RAM 202 and executed by the CPU 201.
  • the difference from FIG. 7 is S601.
  • the point where the OS 210 makes an inquiry about the existence of the print extension application 300 based on the HWID of the printer is not the search server 106 but the distribution server 105 (S601). Since the other processes (S602 to S606) are the same as the processes (S202 to S206) in the first embodiment, the description thereof will be omitted.
  • the OS 210 of the client computer 101 performing such processing, it is not necessary to separately set up the search server 106 in the system.
  • FIG. 12 shows a flow performed by the distribution server 105 when the client computer 101 makes an inquiry to the distribution server 105 in S306 of FIG. 6 or S601 of FIG.
  • the processing of the distribution server 105 described here is loaded into a RAM (not shown) existing in the distribution server 105 and executed by a CPU (not shown) in the distribution server 105.
  • the distribution server 105 receives a print extension application request from any client computer 101 (S701).
  • the distribution server 105 confirms whether the request is a print extension application request by the application identifier (S702).
  • the distribution server 105 identifies the print extended application 300 having the designated application identifier from the print extended applications 300 held by itself (S703).
  • the distribution server 105 then confirms whether the request is a print extended application request by HWID (S704).
  • the distribution server 105 identifies the print extended application 300 having the specified HWID from the print extended applications 300 held by itself (S705). Then, the distribution server 105 confirms whether or not it owns the specified print extension application 300 (S706). If it is held, the distribution server 105 enables the specified print extension application to be downloaded from the requesting client computer 101 (S707). If it is not held, the distribution server 105 returns an error to the client computer 101 that made the request (S702).
  • the client computer 101 which is an example of an information processing device, can install a printer driver 211, which is an example of a printer driver. Further, it is possible to communicate with the distribution server 105, which is an example of a server device. It is also possible to communicate with the printer A 102 and the printer B 103, which are examples of image forming apparatuses.
  • the printer driver 211 may be a common printer driver or a universal printer driver that can support a plurality of printers.
  • the network I/F 214 receives the HWID, which is an example of the identification information of the image forming apparatus. Further, the network I/F 214 transmits the HWID received via the network I/F 214 to the distribution server 105.
  • the network I/F 214 is an example of transmitting means and receiving means.
  • the print extension application 300 is an example of an extension application.
  • the print extension application 300 transmitted from the distribution server 105 and also the print extension application 300 corresponding to the HWID transmitted by the network I/F 214 is referred to as a program A.
  • the CPU 201 executes a process of associating the program A with the printer driver 211.
  • the CPU 201 is an example of execution means.
  • the client computer 101 may check whether the print extension application 300 transmitted from the distribution server 105 corresponds to the printer driver 211.
  • the print extension application 300 may be installed on condition that it is confirmed to be compatible.
  • An example of the identification information of the print extension application 300 is an application identifier.
  • the application identifier may be transmitted to the distribution server 105, and the receiving unit may receive the print extension application 300 corresponding to the identification information from the distribution server 105. Further, the print extension application 300 may be acquired through different routes depending on whether the printer driver installed in 101 is a common printer driver that can be used by the plurality of printers A and B or not.
  • An example of the control unit is the CPU 201.
  • Multiple print extension applications can be associated with the HWID that is the printer identification information. Further, the CPU 201 may execute a process of associating the plurality of print extension applications corresponding to the transmitted HWID with the printer driver 211.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

OS内で共通に利用されるプリンタドライバのインストール時に取得したプリンタのHWIDをキーにしてプリント拡張アプリをダウンロードしてプリンタドライバとの関連付けを行う。

Description

情報処理装置、サーバ装置、制御方法、制御プログラム
 本発明は、画像形成装置と通信する情報処理装置、サーバ装置等に関する。
 プリンタドライバを利用し、印刷装置に対して印刷データを送信する構成がある。ホストコンピュータには、オペレーティングシステム(OS)がインストールされており、プリンタドライバはそのOSの規定する仕様に従って構成され、OSから呼び出されて動作する。印刷装置を提供するベンダは、OSの仕様に適合する印刷装置に適したプリンタドライバを提供することにより、そのOSを用いてプリンタに印刷を指示する手段を提供することができる。機能が異なる複数種類の印刷装置を制御するためのプリンタドライバとしてユニバーサルプリンタードライバーと称されるプリンタドライバが知られている(特許文献1)。
 特許文献1に開示されているようなユニバーサルプリンタードライバーは、印刷装置を提供するベンダ毎に提供されている。しかし、異なった印刷装置を提供するベンダの印刷装置を1つのユニバーサルプリンタードライバーで対応することは困難であった。
 また、上述の仕組みを実現するために、前述したIPP Everywhere(登録商標)などに代表されるIPPに準拠する仕組みを使用したいわゆる共通プリンタドライバを利用できるようにすることが考えられる(非特許文献1)。
特開2015-135658
IPP Implementor’s Guide v2.0 (IG)https://ftp.pwg.org/pub/pwg/candidates/cs-ippig20-20150821-5100.19.pdf
 共通プリンタドライバに対して、所定の画像形成装置用の拡張アプリケーションを関連付けの上セットアップする。これにより、共通プリンタドライバの機能を柔軟に拡張したり、画像形成装置の機能をより活用したりするための仕組みが考慮されうる。
 しかしながら、拡張アプリケーションをクライアント側においてどのようなタイミングでもしくはどのようにしてセットアップして共通プリンタドライバを拡張させるかの仕組みは考えられていなかった。
 本発明の一つの側面として、プリンタドライバをインストール可能であり、サーバ装置および画像形成装置と通信可能な情報処理装置において、前記画像形成装置の識別情報を受信する受信手段と、前記受信手段が受信した前記画像形成装置の識別情報を前記サーバ装置に対して送信する送信手段と、サーバ装置から送信されてくる拡張アプリケーションであって尚且つ前記送信手段により送信された前記画像形成装置の識別情報に対応する拡張アプリケーションと、前記プリンタドライバとを関連付ける処理を実行する実行手段を有する情報処理装置が一例として開示される。
 本実施形態の一つの側面として、所定のプリンタドライバに対して、画像形成装置の機能を活用できる拡張アプリケーションを関連付けることができるという効果がある。
第1の実施形態における印刷システムの一例を示す図である。 クライアントコンピュータのハードウェア構成を示すブロック図である。 クライアントコンピュータのソフトウェア構成を示すブロック図である。 プリンタ、プリンタキュー、プリント拡張アプリとの関係を示す図である。 プリンタキュー生成とプリント拡張アプリとの関連付けフロー図である。 従来のプリンタドライバとプリント拡張アプリの関連付けフロー図である。 実施形態におけるプリンタドライバとプリント拡張アプリの関連付けフロー図である。 拡張アプリ検索サーバが行う処理のフロー図である。 拡張アプリ配信サーバが行う処理のフロー図である。 プリンタのHWIDとプリント拡張アプリの対応表である。 第2の実施形態における印刷システムの一例を示す図である。 共通プリンタドライバとプリント拡張アプリの関連付けフロー図である。 拡張アプリ配信サーバが行う処理のフロー図である。 プリント拡張アプリがプリンタキューに対応しているか判断する処理のフロー図である。
 以下、本発明を実施するための実施形態について図面を用いて説明する。なお、以下の実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
 <第1の実施形態>
 まず図1を用いて、本発明に係る印刷システムの構成を説明する。図1は、本発明に係る印刷システムの一例を示す図である。本実施形態の印刷システムは、クライアントコンピュータ101、ページ記述言語(PDL)形式の印刷データを受信し印刷を行うプリンタA102、プリンタB103、各種サーバ、を備える。各種サーバは具体的には拡張アプリを配信する配信サーバ105、配信サーバ105から所望の拡張アプリを取得する検索サーバ106から成る。さらにドライバを配信するドライバ配信サーバ107、ドライバに関連付けられたデバイス管理部(以降、メタデータと呼ぶ)を配信するメタデータ配信サーバ308から成る。各装置は、Wide Area Network(WAN)を含むネットワーク104を通じて相互に通信可能である。
 なお、プリンタ102及びプリンタ103は、印刷機能のみを備えるシングルファンクションプリンタでも、印刷機能、スキャン機能、複写機能を備えるマルチファンクションプリンタでも構わない。また、クライアントコンピュータ101は、ネットワーク104に対し一台に限らず、複数台接続されていてもよい。クライアントコンピュータ101は、プリンタ102などに印刷データを送信することができる。プリンタドライバは、スキャナドライバでも構わない。また、プリンタ拡張アプリは、スキャナ拡張アプリでも構わない。
 図2は、図1のクライアントコンピュータ101のハードウェア構成を示すブロック図である。クライアントコンピュータ101は、CPU(Central Processing Unit)201、RAM(Random Access Memory)202、外部メモリ209、ROM(Read Only Memory)203を有する。
 CPU201を含む制御部200は、クライアントコンピュータ101全体の動作を制御する。CPU201は、ROM203又は外部メモリ209に記憶されたプログラムをRAM202に展開し、それを実行してUI画面の制御や印刷データの生成、印刷データの転送などの各種制御を行う。ROM203は、CPU201で実行可能な制御プログラムやブートプログラム等を格納する。RAM202は、CPU201の主記憶メモリであり、ワークエリア又は各種プログラムを展開するための一時記憶領域として用いられる。外部メモリI/F208を介して制御部200に接続される外部メモリ209は、OS210、アプリケーション212、アプリケーション実行環境213、プリンタドライバ211などを記憶する。
 本実施形態では外部メモリ209としてHDD(Hard Disk Drive)等の補助記憶装置を想定しているが、HDDの代わりにSSD(Solid State Drive)などの不揮発性メモリを用いるようにしても良い。このように、CPU201、ROM203、RAM202、外部メモリ209等のハードウェアは、いわゆるコンピュータを構成している。
 操作入力装置I/F204は、キーボードやポインティングデバイス(マウス)、タッチ入力デバイスなどの操作入力装置205を制御するインタフェースである。操作入力装置205は、ユーザからの操作を受け付ける受付部として機能する。ディスプレイI/F206はディスプレイ207への画面の表示を制御する。ディスプレイ207は、ユーザに対して情報を表示する表示部として機能する。
 制御部200は、ネットワークI/F214を介してネットワーク104に接続される。ネットワークI/F214は、ネットワーク104上のプリンタに印刷データを送信したり、ネットワーク104上の各種サーバから拡張アプリケーションやプリンタドライバなどを受信したりする。なお、ネットワーク104上の外部端末とのデータ通信は例えばIEEE802.11シリーズに準拠する無線通信やLTEや5Gなどの移動通信システムや、LANケーブルなどの有線ケーブルを介した通信である。
 続けて、図3を用いて、クライアントコンピュータ101のソフトウェア構成の一例について説明する。まず、クライアントコンピュータ101内の動作ソフトウェアについて説明する。クライアントコンピュータ101内のソフトウェアは、OS210、アプリケーション実行環境213とアプリケーション212の3つの層から構成される。
 まず、OS210を構成する個々の要素について説明する。OS210は、大きくプリンティングシステム337、プリンタドライバ211、外部設定ファイル群352とスレッドプール355から構成される。
 まず、外部設定ファイル群352について説明する。外部設定ファイル群352に含まれるメタデータ320は、プリント拡張アプリ300のプリント拡張アプリ識別子とプリンタドライバ211のプリンタキュー308のHWID(HardwareId)の識別子を持ち、各々を関連付ける役割を持つ。
 ただし、メタデータ320によって、Microsoft(登録商標)製のプリンタドライバ211とプリント拡張アプリ300が関連づくことはできない。
 レジストリ353は、OS210の設定群が記述された領域である。Key And Value方式で値を記載することができ、プリンタキュー毎の設定などを記述することができる。レジストリ353には、印刷時起動アプリランチャ350によるバックグラウンドタスクの起動を有効とするか無効とするかを示すポリシーの設定や、プリンタドライバ211に関連づくプリント拡張アプリ300の識別子などが登録されている。なお、当該レジストリ353に登録されている設定は、OS210の設定画面を介して変更可能である。
 続いてプリンティングシステム337を構成する要素について説明する。プリンタキュー308は、ネットワーク104内に存在するプリンタを使用して印刷を行う際に、印刷ジョブを一時的に保存する領域であり、複数個存在することができる。本実施形態では、プリンタ102とプリンタ103に対応するプリンタキューが作成されているものとする。
 スプーラ325は、アプリケーション212のいずれかから印刷された印刷対象データであるXPS(XML Paper Specification)ファイルを一時的に保存及び管理するモジュールである。スプーラ325に保存されたXPSファイルは、フィルタパイプラインマネージャ335を通して、PDL(Page Description Language)に変換された後に、スプーラ325を通じてプリンタ102へと送信される。
 フィルタパイプラインマネージャ335は、1以上のフィルタ330をロードして、XPSファイルをPDLファイルへと変換するモジュールである。フィルタパイプラインマネージャ335は、OS210が提供する印刷アーキテクチャ(印刷システムとも呼ぶ)の一部として構成されている。OS210は、フィルタコンフィグ336の定義に基づき、プリンタドライバ211を構成する要素の一つである1以上のフィルタ330を読み込み、当該1以上のフィルタを使用してPDLを生成する。PDLは、例えば、PCLやPDFなどを採用することができる。
 コンフィグレーションモジュール331は、PrintTicket(プリントチケットとも呼ぶ)の生成、変更を行うモジュールである。また、モジュール331は、組み合わせることができない設定が行われないよう制限する禁則機能を有する。また、コンフィグレーションモジュールはプリンタの能力情報であるPrintCapabilitiesを管理する。
 プリント拡張アプリ300の詳細印刷設定UI部304、印刷時起動バックグラウンドタスク部305と印刷時起動UI部303は、コンフィグレーションモジュール331が提供するAPIを呼び出すことができる。各部は、当該APIを呼び出すことで、XML(Extensible Markup Language)形式のPrintTicketやPrintCapabilitiesを取得することができる。
 プリンタドライバ211は、禁則ルールやデバイスの機能が記述されたデバイス機能テキストファイル332や、スクリプトファイル333をOS211に提供する。ファイル332、333に基づき、コンフィグレーションモジュール331の動作はカスタマイズされる。
 印刷時起動アプリランチャ350は、印刷時起動バックグラウンドタスク部305などが提供するバックグラウンドタスクの実行を制御するモジュールである。ランチャ350は、ユーザにより印刷開始指示が入力されたことをOS210が検知し、印刷を行う場合に、印刷時起動バックグラウンドタスク部305を起動する。なお、レジストリ353にバックグラウンドタスクの起動を無効とする設定が記憶されている場合、OS210はバックグラウンドタスクの実行を抑制する。
 プリンタドライバ211は、フィルタ330、フィルタコンフィグ336、スクリプトファイル333とデバイス機能テキストファイル332、INF361で構成され、ドライバ格納領域370に保存されている。フィルタ330は、フィルタパイプラインマネージャ335によって呼び出されるフィルタであり、入力されたXPSファイルをPDLへと変換して出力する機能を有している。フィルタコンフィグ336は、フィルタパイプラインマネージャ335が参照する定義ファイルであり、1以上のフィルタ330を呼び出す順序が記述されている。スクリプトファイル333とデバイス機能テキストファイル332は、コンフィグレーションモジュール331によって呼び出されるファイルであり、コンフィグレーションモジュール331の動作をカスタマイズできる。INF361は、プリンタドライバ211をインストールするための設定情報が記載されたテキストファイルである。
 スレッドプール355は、各種アプリケーション212やOS210内のモジュール群が実行される際に利用されるスレッドを格納するモジュールである。
 アプリケーション実行環境213は、デスクトップアプリ実行環境323、タッチアプリ実行環境301から構成される。
 タッチアプリ実行環境301は、後述するアプリケーション212の一種であるOS210上で動作するタッチアプリ321やプリント拡張アプリ300を実行するための実行環境である。実行環境301は、配信サーバ105から配布された拡張アプリケーションを動作させるための実行環境であり、拡張アプリケーションの実行を制御する。
 デスクトップアプリ実行環境323は、後述するアプリケーション212の一種であるデスクトップアプリ322を実行するための実行環境である。デスクトップアプリ実行環境323は、デスクトップ上から実行されうるアプリケーションの実行を制御する。
 アプリケーション212は、タッチアプリ321、プリント拡張アプリ300とデスクトップアプリ322の三種類のアプリケーションで構成される。タッチアプリ321は、タッチアプリ実行環境301で動作するアプリケーションである。タッチアプリ321は、インターネット上で公開されるアプリケーション配布システムを通じて、ダウンロードされ、クライアントコンピュータ101にインストールされる。タッチアプリ321は、必要なモジュール群がパッケージ化して署名されており、OS210内のAPIの呼び出しが制限されている。
 プリント拡張アプリ300は、タッチアプリ321の一種であり、タッチアプリ321と同様にタッチアプリ実行環境301の上で動作する。プリント拡張アプリ300は、OS210がアプリケーション配布システムからインターネットを経由して取得する。また、本実施形態のプリント拡張アプリ300は、印刷時に独自にカスタマイズしたUIを表示させる印刷時UI表示機能を持つ。プリント拡張アプリ300は、メタデータ320を介してプリンタベンダが提供するプリンタドライバ211と関連づけられることができる。また、複数のプリンタベンダが提供するプリンタに対して共通で利用される共通プリンタドライバと関連づく場合には、INF361やレジストリ353を用いて関連づく。ここは、図4を用いて後述する。
 プリント拡張アプリ300は、タイルアプリ部302、詳細印刷設定UI部304、印刷時起動バックグラウンドタスク部305、印刷時起動UI部303で構成される。
 タイルアプリ部302部は、拡張アプリ300を起動するユーザ操作を受け付けたことに従って実行されるUI部であり、登録されたプリンタのステータス表示などの機能を提供する。
 詳細印刷設定UI部304は、OS210によって発行された詳細印刷設定イベントを受信したことに従って実行されるUI部である。詳細印刷設定UI部304は、コンフィグレーションモジュール331からAPIを通じて取得したPrintTicketとPrintCapabilitiesに基づき印刷設定用のUIを生成して表示する。UI部304は、ユーザ操作に従って、適宜、PrintTicketの設定を変更し、コンフィグレーションモジュール331に返却する。
 印刷時起動バックグラウンドタスク部305は、印刷イベントが発行された際に実行すべきバックグラウンドタスクに対応するコンポーネントである。タスク部305が提供するタスクは、生存時間に限りがあり、一定時間が経過するとOS210によって強制的に終了させられる。
 印刷時起動バックグラウンドタスク部305は、コンフィグレーションモジュール331のAPIを通じてPrintTicketの取得や読み書きをすることができる。バックグラウンドタスクにより、印刷時起動UI部303を起動するか否かを判断し、必要に応じてフォアグラウンドタスクのコンポーネントである印刷時起動UI部303の起動をOS210に要求することが既定されている。また、アプリストア334に変更した値を読み書きすることで、印刷時起動UI部303と値の受け渡しをすることができる。印刷時起動UI部303を起動しないと判断する場合は、ランチャ350は、プリント拡張アプリ300を起動することなく印刷データの生成を行う。
 更に、バックグラウンドタスクにより起動された印刷時起動UI部303は、印刷対象のデータとなるXPSやPrintTicketを編集して、OS210に返すことができる。
 バックグラウンドタスクによってOS210に対して起動要求が行われると、OS210は、印刷時起動UI部303を起動する。印刷時起動UI部303は、PrintTicketやPrintCapabilitiesの取得と設定の変更ができる他に、印刷対象のデータのXPSファイルを取得することができる。XPSファイルの変更を行う場合には、一度、アプリストア334を通じて編集後のXPSファイルを印刷時起動バックグラウンドタスク部305に渡し、タスク部305が編集したXPSファイルをOS210に返す必要がある。本実施形態において、印刷時起動UI部303は、印刷に関する確認を行うためのUIや、未入力の設定をユーザに入力させるためのUIなどを表示するものとする。
 設定ファイル362は、プリント拡張アプリ300の設定値が記述されているファイルである。プリント拡張アプリ300を一意に示すプリント拡張アプリ識別子や、利用するカスタム設定ファイルが記載されている。
 カスタム設定ファイル363は、プリント拡張アプリ300がプリンタドライバ211に対して利用できるサービスの設定を記載した設定ファイルである。
 次に、共通プリンタドライバについて説明する。簡単に印刷を行いたいユーザにとって、インストールは手間となる。これを解消するために使用するのが共通プリンタドライバである。共通プリンタドライバは例えばIPPを使用して印刷を行うことのできるMopria(登録商標)対応のプリンタに対応した共通のプリンタドライバである。この場合、Mopria(登録商標)対応のプリンタを持つユーザはプリンタベンダ製のプリンタドライバをインストールすることなく、共通プリンタドライバを使用して簡単に印刷を行うことができる。しかも共通プリンタドライバはプリンタベンダに依存しないため、どこのプリンタベンダのプリンタに対しても同様に使用することができる。
 続けて、共通プリンタドライバとプリント拡張アプリの関係について説明する。図4はプリンタA102およびプリンタB103に対する共通プリンタドライバのプリントキュー502、503とプリント拡張アプリ300との関係を示した図である。プリンタA102に対応するのが共通プリンタドライバのプリンタキュー502であり、プリンタB103に対応するのが共通プリンタドライバのプリンタキュー503である。それぞれ実体としてのプリンタは異なるがどちらも共通プリンタドライバが印刷データを生成し、印刷ジョブを発行する。共通プリンタドライバはプリンタA102、プリンタB103からある程度の能力情報を取得してそれぞれの能力に応じた印刷設定が可能になっている。しかし、共通プリンタドライバは複数ベンダの複数プリンタに対応するために設定可能な印刷設定の種類が少ない。これを補うのがプリント拡張アプリ300である。プリンタA用プリント拡張アプリ602はプリンタAに特化したプリント拡張アプリ300であり、プリンタB用プリント拡張アプリ603はプリンタBに特化したプリント拡張アプリ300である。プリント拡張アプリ300はプリンタベンダによって作成される。これにより共通プリンタドライバがプリンタの種類に依存しないソフトウェアであるのに対してプリント拡張アプリ300はプリンタごとのより細かい印刷設定を行う事が可能である。図4に示すように共通プリンタドライバに対してプリンタの種類に応じたプリント拡張アプリ300を関連付けるためのフローが必要となる。関連付けのフローについては図5を用いて後述する。なお、「関連付け」とは、具体的にはたとえばOS210がレジストリ353に対してプリンタドライバ211に関連付くプリント拡張アプリ300の識別子を登録することである。
 レジストリ353に限らず、所定の記憶領域やデータベースにおいて、プリンタドライバ211の識別子と関連付けるべきプリント拡張アプリ300の識別子を対応付けて登録することができる。単に一対一対応の表にするだけでなく、プリンタドライバ211に対して複数の拡張アプリを対応付けて登録することも可能である。
 これによりOS21はプリンタドライバ211の使用時に、関連付けがされているプリント拡張アプリ300の詳細印刷設定UI部を表示したり、印刷時起動UI部303を表示したりすることができる。
 図5は共通プリンタドライバとプリント拡張アプリを関連付けるためのフローを示す図である。図5はクライアントコンピュータ101のOS210の処理である。ここで説明するOS210の処理はRAM202にロードされ、CPU201によって実行される。
 OS210へのプリンタの導入時、OS210はネットワーク内のプリンタを探索してユーザに対して表示する(S101)。OS210へのプリンタ導入時とは、たとえば、ネットワークまたはローカルインタフェース上に新しくプリンタが発見されて所定のイベントが発生したときがある。またはユーザに指示によりプリンタ導入が開始される場合がある。
 そしてOS210は探索された全てのプリンタからどのプリンタに対するプリンタドライバ211をインストールするかについてユーザ入力を受け付ける(S102)。OS210はユーザによって指定されたプリンタに印刷可能なプリンタドライバ211をインストールしてプリンタキュー308を生成する(S103)。次にOS210はユーザによって指定されたプリンタ(実デバイス)からプリンタの機種ごとに決められたハードウェアID(=HWID)をネットワーク等を介して取得する(S104)。次にOS210はプリンタのHWIDを元にプリント拡張アプリ300を取得してS103で生成したプリンタキュー308に関連付ける(S105)。S105の具体的な処理は図6と図7を用いて後述する。このようにして、プリンタドライバとプリント拡張アプリ300との関連付けが行われる。
 図6はOS210におけるS105の処理について、比較例としてのOS210の処理を示したフロー図である。ここで説明するOS210の処理もRAM202にロードされ、CPU201によって実行される。まずOS210はプリンタのHWIDを元に、対応するメタデータ320が存在するかをメタデータ配信サーバ108に問い合わせる(S301)。OS210はメタデータ320が存在するかを確認し(S302)、存在しない場合は処理を終了する。S104で取得されたHWIDに対応するメタデータ320が存在する場合、OS210はそのメタデータ320をダウンロードする(S303)。そしてそのメタデータ320をプリンタキュー308に関連付ける(S304)。次にOS210はダウンロードしたメタデータ320を参照し、メタデータ320の中からプリント拡張アプリ300のアプリ識別子を取得する(S305)。そしてOS210はそのアプリ識別子を元にプリント拡張アプリ300を拡張アプリ配信サーバ107に問い合わせる(S306)。OS210はプリント拡張アプリ300が存在するか確認する(S307)。S307で、存在しないと確認された場合は処理を終了する。S307で存在すると確認された場合、OS210はそのプリント拡張アプリ300をダウンロードする(S308)。次にOS210はダウンロードしたプリント拡張アプリ300をインストールする(S309)。さらにOS210はインストールしたプリント拡張アプリ300をプリンタキュー308に関連付ける(S310)。このようにしてメタデータ320を介してプリンタキュー308とプリント拡張アプリ300との関連付けを行っている。
 図7はOS210における図5のS106の処理について、本実施形態におけるOS210の処理を示したフロー図である。ここで説明するOS210の処理もRAM202にロードされ、CPU201によって実行される。まずOS210はS104で取得されたプリンタのHWIDを元に、対応するプリント拡張アプリ300が存在するかを検索サーバ106に問い合わせる(S201)。OS210はHWIDに対応するプリント拡張アプリ300が存在するかを確認する(S202)。存在しないとS202で確認された場合は処理を終了する。HWIDに対応するプリント拡張アプリ300が存在するとS202で確認された場合、OS210はそのプリント拡張アプリ300をダウンロードする(S203)。次にOS210はダウンロードしたプリント拡張アプリ300とプリンタドライバ211が対応しているかどうかを確認する(S204)。具体的には、S104で取得されたプリンタのHWIDを検索サーバ106に対してOS201は送信する。これに対する返信として、OS210は、HWIDに対応するプリント拡張アプリ300のリストを受信する。これにより、S202でHWIDに対応するアプリがあるかが確認される。
 ここで確認するS204の詳細を図14に示す。OS210はまずダウンロードしたプリント拡張アプリ300から対応ドライバ識別子を取得する(S801)。プリント拡張アプリ300はそれぞれ対応するプリンタドライバの識別子を保持している。これによりプリント拡張アプリ300は予期しないプリンタドライバに紐づくことを回避することができる。次にOS210はプリンタキュー308のドライバ識別子が前記対応ドライバ識別子の中に存在するかどうかを確認する(S802)。S802で存在すると確認された場合、OS210はプリンタキュー308に対応しているプリント拡張アプリ300であると判断する。S802で存在しないと確認された場合、OS210はプリンタキュー308に対応していないプリント拡張アプリ300であると判断する。
 前述の図14の処理で確認した結果、対応していないと確認された場合(S204-NO)、OS210は関連付けを行わずに終了する。一方、対応していると確認された場合(S204-YES)、OS210はダウンロードしたプリント拡張アプリ300をインストールする(S205)。そしてOS210はインストールしたプリント拡張アプリ300をプリンタキュー308に関連付ける(S206)。このようにして、OS210はプリンタキュー308とプリント拡張アプリ300の関連付けのためにメタデータ320を使用せず、直接関連付けを行う。これによりMicrosoft(登録商標)製の共通プリンタドライバのプリンタキュー308であってもプリンタベンダ製のプリント拡張アプリ300と関連付けを行うことができる。
 なお、OS210は関連付けを行う際に、図6の処理と図7の処理を使い分けて実施することも可能である。例えば、該当するメタデータ320がメタデータ配信サーバ108に存在するか否かでメタデータ320を使用して関連付けを行うか直接プリント拡張アプリ300との関連付けを行うかを決定してもよい。もしくは関連付け対象のプリンタドライバがベンダ製プリンタドライバの場合は図6の処理を行い、共通プリンタドライバの場合は図7の処理を行う方法を取ってもよい。このようにすることで、従来のメタデータ320の資産を活用しつつ共通プリンタドライバへの関連付けにも対応することができる。
 次に図8を用いて検索サーバ106が行う処理フローについて説明する。拡張検索サーバは、図2と同様のハードウェア構成を持ちうる。具体的にはクライアントコンピュータ101のOS210が図7のS201においてHWIDに対応するプリント拡張アプリ300を問い合わせた際に検索サーバ106が行う処理である。ここで説明する検索サーバ106の処理は検索サーバ106内に存在するRAMにロードされ、検索サーバ106内のCPUによって実行される。まず、検索サーバ106は任意のクライアントコンピュータ101からHWIDを伴うプリント拡張アプリ300の要求を受け付ける(S401)。検索サーバ106は内部に保持しているHWIDとプリント拡張アプリの対応表を取得する(S402)。
 ここで、HWIDとプリント拡張アプリの対応表について図10を用いて説明する。検索サーバ106は図10に示すプリンタのHWIDとプリント拡張アプリの対応表を保持している。プリンタのHWID501はプリンタの機種ごとに固有のIDであり、機種が異なれば別々のIDが降られている。プリント拡張アプリ名称502はプリント拡張アプリの名称であり一般のユーザが識別しやすい名称となっている。アプリ識別子(AppID)503は配信サーバ105で管理されている識別子であり、配信サーバ105はアプリ識別子によってすべての拡張アプリの中から該当するプリント拡張アプリ300を特定することができる。図10に示す対応表はプリント拡張アプリ300が新規に開発されて登録されるたびに更新されうる。たとえば、更新用の対応表はネットワークを介して外部の装置から配信サーバ105へ送信される。そして、古い対応表は新しい対応表を用いて配信サーバ105において更新されうる。
 プリンタベンダは一つのプリント拡張アプリ300を登録する際に関連付けを行うべきプリンタの一つのHWIDを同時に登録できる。さらに、一つのプリンタのHWIDに対して複数のアプリ識別子を設けてもよい。いずれの際も、その登録内容が図10の対応表に追加される。図10の例では、ひとつのプリンタに対してそれぞれひとつのアプリ識別子が登録されている。また、たとえば、PrinterAAAが列501に二度現れることを許してもよい。これは、一つのプリンタに対して複数の拡張プリンタアプリを設けることを意味する。
 検索サーバ106が対応表を取得したら、検索サーバ106はクライアントコンピュータ101から届いたHWIDに対応するプリント拡張アプリ300が対応表に存在するかを確認する(S403)。
 例えば、プリンタのHWIDとしてPrinterAAAが取得されたら、検索サーバ106は、図10の表を検索して、PrinterAAAに対応するアプリの識別子はAAA01であると確認する。そして、検索サーバ106はクライアントに対してAAA01およびプリント拡張アプリ名称Print App AAAを通知することができる。原則ここでのHWIDは、プリンタからクライアントコンピュータが取得したものである。
 図4の説明に戻る。S403で存在しないと確認された場合次の処理をする。検索サーバ106は要求元のクライアントコンピュータ101にエラーを返す(S409)、そして処理を終了する。S403で存在すると確認された場合、検索サーバ106はプリント拡張アプリ300のアプリ識別子を取得する(S404)。そして検索サーバ106はそのアプリ識別子を元にプリント拡張アプリ300を配信サーバ105に問い合わせる(S405)。検索サーバ106は配信サーバ105に求めるプリント拡張アプリ300が存在していたかを確認する(S406)。存在しないとS406で確認された場合、検索サーバ106は要求元のクライアントコンピュータ101にエラーを返す(S409)。そして、処理を終了する。S406で存在すると確認された場合、検索サーバ106はそのプリント拡張アプリ300をダウンロードする(S407)。そして検索サーバ106は取得したプリント拡張アプリ300を要求元のクライアントコンピュータ101からダウンロード可能にする(S408)。そして、S408ではクライアントコンピュータに対してダウンロード可能にしたプリント拡張アプリ300のリストを通知する。プリント拡張アプリは複数リストに掲載される場合もある。この通知に応じてクライアントコンピュータは自動的にプリント拡張アプリ300が存在することを確認し、ダウンロードしてもよい(S308)。
 検索サーバ106が図8の処理を行う。これにより、配信サーバ105は共通プリンタドライバに対してもプリンタベンダ製プリンタドライバに対しても動作を変えることなく適切なプリント拡張アプリ300を提供することができる。なお、ここでは説明を簡単にするためにS407において検索サーバ106が実際のプリント拡張アプリ300をあらかじめダウンロードする方法について説明した。変形例として、S407ではダウンロードせずにクライアントコンピュータ101からの取得要求が来た後に拡張アプリ配信サーバからダウンロード可能にする方法をとることもできる。
 次に図9を用いて配信サーバ105が行う処理フローについて説明する。具体的にはクライアントコンピュータ101が図7のS306で配信サーバ105に問い合わせる際、もしくは検索サーバ106が図8のS405で配信サーバ105に問い合わせる際に配信サーバ105が行う処理である。ここで説明する配信サーバ105の処理は配信サーバ105内に存在する不図示のRAMにロードされ、配信サーバ105内の不図示のCPUによって実行される。まず、配信サーバ105は任意のクライアントコンピュータ101もしくは検索サーバ106からアプリ識別子によるプリント拡張アプリ要求を受け付ける(S501)。要求が届いたら配信サーバ105はそのアプリ識別子のプリント拡張アプリ300を保持しているかを確認する(S502)。保持していない場合、配信サーバ105は要求元のクライアントコンピュータ101もしくは検索サーバ106に対してエラーを返して(S501)処理を終了する。保持している場合、配信サーバ105は指定されたアプリ識別子を持つプリント拡張アプリ300を特定する(S503)。そして配信サーバ105はその特定したプリント拡張アプリ300を要求元からダウンロード可能にする(S501)。このようにして、配信サーバ105は要求元が何かに関わらず同じ処理を行えばよい。ダウンロード可能になると、クライアントコンピュータ101の要求に応じて拡張アプリはダウンロード可能になる。
 以上、図を用いて本発明の第1の実施形態について説明を行った。本発明のシステムが上記の構成をとることで、共通プリンタドライバに対してもHWIDに応じた適切なプリント拡張アプリ300を関連付けることが可能となる。
 <第2の実施形態>
 以下では特に断らない限り同じ符号は同じ装置や機能を示す。第1の実施形態と異なる部分を中心に説明する。第1の実施形態では検索サーバ106がHWIDに対応するプリント拡張アプリ300を検索する処理を行う例について説明した。しかし、検索サーバ106の存在は必須ではない。具体的には、配信サーバ105が検索サーバ106の機能も担う事で実施が可能であるため、第2の実施形態として説明する。つまり,105と106が一体化することも考えられる。
 図11は第2の実施形態における印刷システムの構成を示している。第1の実施形態における図1とほぼ同じ構成であるが、検索サーバ106が存在しない点が相違点である。それぞれの構成要素の詳細は前記説明済みであるためここでは省略する。第1の実施形態において図2~図5、図7で説明した内容も第2の実施形態に適用できるため説明を省略する。
 図12はクライアントコンピュータ101のOS210における図5のS105の処理をより詳細に示したフロー図である。ここで説明するOS210の処理もRAM202にロードされ、CPU201によって実行される。図12のフローにおいて、図7との違いはS601である。OS210がプリンタのHWIDを元に、プリント拡張アプリ300の存在を問い合わせる先が検索サーバ106ではなく配信サーバ105となっている点である(S601)。それ以外の処理(S602~S606)は第1の実施形態における処理(S202~S206)と同じであるため説明を省略する。クライアントコンピュータ101のOS210がこのような処理を行う事で、システム内に検索サーバ106を別途立てる必要がなくなる。
 図12はクライアントコンピュータ101が、図6のS306や図12のS601において配信サーバ105に対して問い合わせを行う際に、配信サーバ105が行うフローを示している。ここで説明する配信サーバ105の処理は配信サーバ105内に存在する不図示のRAMにロードされ、配信サーバ105内の不図示のCPUによって実行される。まず、配信サーバ105は任意のクライアントコンピュータ101からプリント拡張アプリ要求を受け付ける(S701)。次に配信サーバ105はその要求がアプリ識別子によるプリント拡張アプリ要求かどうかを確認する(S702)。アプリ識別子によるプリント拡張アプリ要求の場合、配信サーバ105は自身の保持するプリント拡張アプリ300の中から指定されたアプリ識別子を持つプリント拡張アプリ300を特定する(S703)。そうではない場合、次に配信サーバ105はHWIDによるプリント拡張アプリ要求かどうかを確認する(S704)。HWIDによるプリント拡張アプリ要求の場合、配信サーバ105は自身の保持するプリント拡張アプリ300の中から指定されたHWIDを持つプリント拡張アプリ300を特定する(S705)。そして配信サーバ105は特定したプリント拡張アプリ300を自身が保持しているかを確認する(S706)。保持ししている場合、配信サーバ105は特定したプリント拡張アプリを要求元のクライアントコンピュータ101からダウンロード可能にする(S707)。保持していない場合、配信サーバ105は要求元のクライアントコンピュータ101にエラーを返す(S702)。
 以上、図を用いて本発明の第2の実施形態について説明を行った。本発明のシステムが上記の構成をとることで、検索サーバ106を有せずとも第1の実施形態と同等の効果を得ることができる。
 情報処理装置の一例であるクライアントコンピュータ101は、プリンタドライバの一例であるプリンタドライバ211をインストール可能である。また、サーバ装置の一例である配信サーバ105と通信可能である。また、画像形成装置の一例であるプリンタA102やプリンタB103とも通信可能である。なお、プリンタドライバ211は複数のプリンタに対応可能である共通プリンタドライバやユニバーサルプリンタドライバでありうる。
 また、画像形成装置の識別情報の一例であるHWIDをネットワークI/F214で受信する。また、ネットワークI/F214経由で受信したHWIDを、ネットワークI/F214は、配信サーバ105に対して送信する。ネットワークI/F214は送信手段、受信手段の一例である。プリント拡張アプリ300は、拡張アプリケーションの一例である。
 さらに、配信サーバ105から送信されてくるプリント拡張アプリ300であって尚且つネットワークI/F214により送信されたHWIDに対応するプリント拡張アプリ300をプログラムAとする。CPU201は、プログラムAと、プリンタドライバ211とを関連付ける処理を実行する。CPU201は実行手段の一例である。クライアントコンピュータ101は、配信サーバ105から送信されてくるプリント拡張アプリ300が、プリンタドライバ211に対応しているかどうかを確認してもよい。
 また、対応していると確認されたことを条件として、プリント拡張アプリ300をインストールするようにしてもよい。
 プリント拡張アプリ300の識別情報の一例はアプリ識別子である。アプリ識別子を配信サーバ105に対して送信し、配信サーバ105から当該識別情報に対応するプリント拡張アプリ300を前記受信手段は受信してもよい。また、101においてインストールされたプリンタドライバが、複数のプリンタA,Bで利用可能な共通プリンタドライバである場合と、そうでない場合とで異なる経路でプリント拡張アプリ300を取得するようにしてもよい。制御手段の一例は、CPU201である。
 プリンタの識別情報であるHWIDには複数のプリント拡張アプリが対応づけ可能である。また、CPU201は、送信したHWIDに対応する複数のプリント拡張アプリを、プリンタドライバ211に関連付ける処理を実行してもよい。
 本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために以下の請求項を添付する。
 本願は、2018年11月30日提出の日本国特許出願特願2018-225490を基礎として優先権を主張するものであり、その記載内容の全てをここに援用する。

Claims (11)

  1.  プリンタドライバをインストール可能であり、サーバ装置および画像形成装置と通信可能な情報処理装置において、
     前記受信手段が受信した前記画像形成装置の識別情報を前記サーバ装置に対して送信する送信手段と、
     サーバ装置から送信されてくる拡張アプリケーションであって尚且つ前記送信手段により送信された前記画像形成装置の識別情報に対応する拡張アプリケーションと、前記プリンタドライバとを関連付ける処理を実行する実行手段を有する情報処理装置。
  2.  前記情報処理装置は、前記サーバ装置から送信されてくる前記拡張アプリケーションが、前記プリンタドライバに対応しているかどうかを確認する確認手段と、
     前記確認手段で対応していると確認されたことを条件として、前記拡張アプリケーションをインストールするインストール手段をさらに有する請求項1に記載の情報処理装置。
  3.  前記情報処理装置の送信手段は、前記拡張アプリケーションの識別情報をサーバ装置に対して送信し、前記サーバ装置から当該識別情報に対応する拡張アプリケーションを前記受信手段は受信し、前記情報処理装置においてインストールされたプリンタドライバが、複数の画像形成装置で利用可能な共通プリンタドライバである場合と、前記共通プリンタドライバでない場合とで異なる経路で前記拡張アプリケーションを取得するよう制御する制御手段を有する請求項1または2に記載の情報処理装置。
  4.  前記画像形成装置の識別情報には複数の拡張アプリケーションが対応づけ可能であり、前記実行手段は、前記送信手段が送信した識別情報に対応する複数の拡張アプリケーションを、前記プリンタドライバに関連付ける処理を実行する請求項1乃至3のいずれか1項に記載の情報処理装置。
  5.  プリンタドライバをインストール可能であり、サーバ装置および画像形成装置と通信可能な情報処理装置の制御方法において、
     前記画像形成装置の識別情報を受信する受信工程と、
     前記受信工程で受信された前記画像形成装置の識別情報を前記サーバ装置に対して送信する送信工程と、
     前記サーバ装置から送信されてくる拡張アプリケーションであって尚且つ前記送信工程において送信された前記画像形成装置の識別情報に対応する拡張アプリケーションと、前記プリンタドライバとを関連付ける処理を実行する実行工程とをコンピュータに実行させる制御方法。
  6.  前記サーバ装置から送信されてくる前記拡張アプリケーションが、前記プリンタドライバに対応しているかどうかを確認する確認工程と、
     前記確認工程で対応していると確認されたことを条件として、前記拡張アプリケーションをインストールするインストール工程をさらにコンピュータに実行させる請求項5に記載の制御方法。
  7.  前記情報処理装で実行される送信工程では、前記拡張アプリケーションの識別情報がサーバ装置に対して送信され、前記サーバ装置から当該識別情報に対応する拡張アプリケーションが前記受信工程において受信され、前記情報処理装置においてインストールされたプリンタドライバが、複数の画像形成装置で利用可能な共通プリンタドライバである場合と、前記共通プリンタドライバでない場合とで異なる経路で前記拡張アプリケーションを取得するよう制御する制御工程をコンピュータに実行させる請求項5または6に記載の制御方法。
  8.  前記画像形成装置の識別情報には複数の拡張アプリケーションが対応づけ可能であり、前記実行工程では、前記送信工程で送信された識別情報に対応する複数の拡張アプリケーションを、前記プリンタドライバに関連付ける処理が実行される請求項5乃至7のいずれか1項に記載の制御方法。
  9.  請求項5乃至8のいずれか1項に記載の制御方法をコンピュータに実行させる制御プログラム。
  10.  情報処理装置と通信可能なサーバ装置において、
     前記情報処理装置から画像形成装置の識別情報を受信する受信手段と、
     前記画像形成装置に対応する拡張アプリケーションを取得する取得手段と、
     前記取得手段が取得した拡張アプリケーションを前記情報処理装置に対して送信する送信手段とを有するサーバ装置。
  11.  情報処理装置と通信可能なサーバ装置の制御方法において、
     前記情報処理装置から画像形成装置の識別情報を受信する受信工程と、
     前記画像形成装置に対応する拡張アプリケーションを取得する取得工程と、
     前記取得手段が取得した拡張アプリケーションを前記情報処理装置に対して送信する送信工程と、をコンピュータに実行させる制御方法。
PCT/JP2019/044805 2018-11-30 2019-11-15 情報処理装置、サーバ装置、制御方法、制御プログラム WO2020110767A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201980077365.5A CN113168296B (zh) 2018-11-30 2019-11-15 信息处理装置、服务器装置、控制方法、以及控制程序
EP19890441.9A EP3893102A4 (en) 2018-11-30 2019-11-15 INFORMATION PROCESSING DEVICE, SERVER DEVICE, CONTROL METHOD AND CONTROL PROGRAM
US17/328,424 US11625205B2 (en) 2018-11-30 2021-05-24 Information processing apparatus, server apparatus, control method, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018225490A JP7282507B2 (ja) 2018-11-30 2018-11-30 情報処理装置、サーバ装置、制御方法、制御プログラム
JP2018-225490 2018-11-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/328,424 Continuation US11625205B2 (en) 2018-11-30 2021-05-24 Information processing apparatus, server apparatus, control method, and storage medium

Publications (1)

Publication Number Publication Date
WO2020110767A1 true WO2020110767A1 (ja) 2020-06-04

Family

ID=70853138

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/044805 WO2020110767A1 (ja) 2018-11-30 2019-11-15 情報処理装置、サーバ装置、制御方法、制御プログラム

Country Status (4)

Country Link
US (1) US11625205B2 (ja)
EP (1) EP3893102A4 (ja)
JP (1) JP7282507B2 (ja)
WO (1) WO2020110767A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023059509A (ja) * 2021-10-15 2023-04-27 シャープ株式会社 情報処理装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004151816A (ja) * 2002-10-29 2004-05-27 Konica Minolta Holdings Inc ホスト装置
JP2006260356A (ja) * 2005-03-18 2006-09-28 Ricoh Co Ltd 画像形成システム、画像形成装置、端末装置、管理装置及び端末装置のドライバの更新方法
JP2014219736A (ja) * 2013-05-01 2014-11-20 キヤノン株式会社 管理システム、管理システムの制御方法、及びプログラム
JP2015135658A (ja) 2013-12-16 2015-07-27 キヤノン株式会社 情報処理装置、情報処理方法、及びコンピュータプログラム
JP2017027322A (ja) * 2015-07-22 2017-02-02 キヤノン株式会社 情報処理装置及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4371673B2 (ja) * 2003-02-28 2009-11-25 キヤノン株式会社 プログラムインストール方法およびサーバ装置
JP4196782B2 (ja) * 2003-08-26 2008-12-17 セイコーエプソン株式会社 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム
GB2482903A (en) * 2010-08-19 2012-02-22 Software Imaging Technology Ltd A print engine
US8773674B2 (en) * 2010-09-17 2014-07-08 Xerox Corporation Method and apparatus to provide enhanced printing for newly launched devices in a universal printer driver
JP5943571B2 (ja) * 2011-09-09 2016-07-05 キヤノン株式会社 印刷システム、プリンター、プリントサーバー、及びその方法
JP5174268B1 (ja) * 2011-10-14 2013-04-03 キヤノン株式会社 ネットワークシステム及びクライアント装置とその方法
JP2014056353A (ja) * 2012-09-11 2014-03-27 Canon Inc 情報処理装置、プログラム、インストール方法
JP6080593B2 (ja) * 2013-02-19 2017-02-15 キヤノン株式会社 情報処理装置及びその方法
JP6184212B2 (ja) 2013-07-12 2017-08-23 キヤノン株式会社 情報処理装置および制御方法およびプログラム
US10942686B2 (en) * 2018-11-19 2021-03-09 Palo Alto Research Center Incorporated Printer recommendation system
JP7275760B2 (ja) * 2019-03-29 2023-05-18 ブラザー工業株式会社 画像処理システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004151816A (ja) * 2002-10-29 2004-05-27 Konica Minolta Holdings Inc ホスト装置
JP2006260356A (ja) * 2005-03-18 2006-09-28 Ricoh Co Ltd 画像形成システム、画像形成装置、端末装置、管理装置及び端末装置のドライバの更新方法
JP2014219736A (ja) * 2013-05-01 2014-11-20 キヤノン株式会社 管理システム、管理システムの制御方法、及びプログラム
JP2015135658A (ja) 2013-12-16 2015-07-27 キヤノン株式会社 情報処理装置、情報処理方法、及びコンピュータプログラム
JP2017027322A (ja) * 2015-07-22 2017-02-02 キヤノン株式会社 情報処理装置及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IPP IMPLEMENTOR'S GUIDE V2.0, Retrieved from the Internet <URL:https://ftp.pwg.org/pub/pwg/candidates/cs-ippig20-20150821-5100.19.pdf>
See also references of EP3893102A4

Also Published As

Publication number Publication date
EP3893102A1 (en) 2021-10-13
CN113168296A (zh) 2021-07-23
US20210279016A1 (en) 2021-09-09
JP7282507B2 (ja) 2023-05-29
US11625205B2 (en) 2023-04-11
EP3893102A4 (en) 2022-11-09
JP2020087324A (ja) 2020-06-04

Similar Documents

Publication Publication Date Title
US11520546B2 (en) Print processing system and control method
US8850459B2 (en) Information processing apparatus, information processing method, and program
JP7086754B2 (ja) 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
JP4587132B2 (ja) 制御機器設定方法及びプログラム
US20120281251A1 (en) Method and system for configuring printer drivers for multiple printing devices
US20150356380A1 (en) System, printing apparatus, control method, and recording medium
US20170024202A1 (en) Information processing apparatus, method, and program
JP2020107241A (ja) 情報処理装置、制御方法及びアプリケーションプログラム
US10356267B2 (en) Information processing apparatus, control method, and storage medium
US8670135B2 (en) Information processing apparatus and control method when installing a printer driver
JP2011159232A (ja) 画像処理装置、消耗品発注方法、及び消耗品発注プログラム
US8345273B2 (en) Information processing apparatus for managing an expansion module, control method therefor, and program for executing the method
WO2020110767A1 (ja) 情報処理装置、サーバ装置、制御方法、制御プログラム
EP2234014A2 (en) Information processing apparatus, information processing method, and information processing system
JP2013161450A (ja) ネットワークプリンター管理システム、ネットワークプリンター管理装置及びその制御方法
JP2009181337A (ja) 画像形成システム、管理装置、画像形成装置、画像形成方法、及び画像形成プログラム
CN113168296B (zh) 信息处理装置、服务器装置、控制方法、以及控制程序
JP2021043547A (ja) 情報処理装置および情報処理装置の制御方法ならびにプログラム
JP2020184241A (ja) 情報処理装置、情報処理装置の制御方法、及び印刷拡張アプリケーション
EP4155897A1 (en) Information processing apparatus, control method of information processing apparatus, and storage medium
JP7328405B2 (ja) 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション
JP7224878B2 (ja) 情報処理装置および制御方法およびプログラム
JP7271148B2 (ja) 情報処理装置および制御方法およびプログラム
JP2006154908A (ja) 単一ドライバ印刷システム

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: 19890441

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019890441

Country of ref document: EP

Effective date: 20210630