JP6608175B2 - Information processing apparatus, control method, and program - Google Patents

Information processing apparatus, control method, and program Download PDF

Info

Publication number
JP6608175B2
JP6608175B2 JP2015110386A JP2015110386A JP6608175B2 JP 6608175 B2 JP6608175 B2 JP 6608175B2 JP 2015110386 A JP2015110386 A JP 2015110386A JP 2015110386 A JP2015110386 A JP 2015110386A JP 6608175 B2 JP6608175 B2 JP 6608175B2
Authority
JP
Japan
Prior art keywords
job
information
external device
executed
external
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2015110386A
Other languages
Japanese (ja)
Other versions
JP2016224704A5 (en
JP2016224704A (en
Inventor
智広 宮川
弘明 守本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2015110386A priority Critical patent/JP6608175B2/en
Publication of JP2016224704A publication Critical patent/JP2016224704A/en
Publication of JP2016224704A5 publication Critical patent/JP2016224704A5/ja
Application granted granted Critical
Publication of JP6608175B2 publication Critical patent/JP6608175B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置、制御方法及びプログラムに関する。   The present invention relates to an information processing apparatus, a control method, and a program.

従来から、ジョブをプリンタ等の外部装置に送信することで、プリンタに当該ジョブに基づいた処理を行わせることが可能なパーソナルコンピュータ(以下、PCという。)等の情報処理装置が知られている。このようなPCを利用するユーザは、例えば、マイクロソフト社のWindows(登録商標)におけるジョブキューのグラフィカルユーザインタフェースを閲覧すれば、ジョブがプリンタへ送信されたか否かを知ることが出来る。   2. Description of the Related Art Conventionally, an information processing apparatus such as a personal computer (hereinafter referred to as a PC) that can cause a printer to perform processing based on the job by transmitting the job to an external apparatus such as a printer is known. . A user using such a PC can know whether or not a job has been transmitted to a printer by browsing a graphical user interface of a job queue in Windows (registered trademark) of Microsoft Corporation.

しかし、このとき、ユーザは、ジョブがプリンタへ送信されたことを知ることが出来ても、プリンタによってジョブの処理が完了したか否かを知ることができない。そこで、特許文献1では、プリンタによってジョブの処理が完了するまで、PCが備えるスプーラにジョブを保持させることで、ジョブの状態を監視する(以下、この処理をジョブ保持処理という。)ことができる技術が開示されている。   However, at this time, even if the user can know that the job has been transmitted to the printer, the user cannot know whether the job has been processed by the printer. Therefore, in Patent Document 1, the job status can be monitored by holding a job in a spooler provided in the PC until job processing is completed by the printer (hereinafter, this processing is referred to as job holding processing). Technology is disclosed.

特開2007−011469JP2007-011469

しかしながら、受信したジョブをジョブキューにキューイングし、キューイングした順番にジョブを処理するプリンタ(ジョブキューを備えているプリンタ)にジョブを送信する場合にジョブ保持処理が実行されると、下記のような課題が起こる。   However, if job holding processing is executed when a received job is queued in a job queue and the job is transmitted to a printer that processes the jobs in the queued order (a printer having a job queue), Such a problem occurs.

ジョブキューを備えているプリンタは、複数のPCからジョブを受信し、受信した順番にジョブを処理することが可能である。ここでは、PC1がジョブ1及びジョブ2を、PC2がジョブ3をプリンタに対して送信する場合を想定する。PC1は、ジョブ1を送信する際にジョブ保持処理を実行すると、スプーラにジョブ1が保持されるため、ジョブ1の処理が完了するまでジョブ2を送信することができない。この状態で、PC2がジョブ3をプリンタに対して送信した場合、PC2がジョブ3を送信するよりも早くPC1がジョブ2を送信しようとしたにもかかわらず、プリンタは、ジョブ3を優先的に処理してしまう。このように、ジョブキューを備えているプリンタにジョブを送信する場合にジョブ保持処理が実行されると、ジョブの処理順番の追い越しが発生してしまう可能性があるという課題がある。   A printer having a job queue can receive jobs from a plurality of PCs and process the jobs in the order received. Here, it is assumed that the PC 1 transmits job 1 and job 2 and the PC 2 transmits job 3 to the printer. If the PC 1 executes the job holding process when transmitting the job 1, the job 1 is held in the spooler, and therefore the job 2 cannot be transmitted until the processing of the job 1 is completed. In this state, when the PC 2 transmits the job 3 to the printer, the printer gives priority to the job 3 even though the PC 1 tried to transmit the job 2 earlier than the PC 2 transmitted the job 3. It will be processed. As described above, when a job holding process is executed when a job is transmitted to a printer having a job queue, there is a possibility that the job processing order may be overtaken.

特許文献1は、ジョブ保持処理を行うか否かの判断において、ジョブの送信先であるプリンタがジョブキューを備えているか否かを考慮していない。そのため、特許文献1に開示された技術では、上記の課題が発生してしまうことを回避できないという課題がある。Patent Document 1 does not consider whether a printer that is a job transmission destination includes a job queue when determining whether to perform job holding processing. For this reason, the technique disclosed in Patent Document 1 has a problem that the above-described problem cannot be avoided.

本発明は、上記の課題を解決するためになされたもので、外部装置の能力に応じて適切な場合にジョブ保持処理を実行できる情報処理装置、制御方法及びプログラムを提供することを目的とする。   SUMMARY An advantage of some aspects of the invention is that it provides an information processing apparatus, a control method, and a program that can execute job holding processing when appropriate according to the capability of an external apparatus. .

そこで、上記目的を達成するために、本発明のプログラムは、
前記外部装置がジョブの処理順番を管理可能なジョブキューを備えているか否かを示す情報を含む能力情報を前記外部装置から取得する取得ステップと、
ジョブの送信指示を受け付ける受け付けステップと、
前記受け付けステップの前に実行された前記取得ステップにより前記外部装置から取得された前記能力情報をキャッシュ情報として保存する保存ステップと、
前記ジョブを管理し、管理している前記ジョブの送信が完了したか否かを認識する管理機能を有するスプーラが管理する前記ジョブを、前記受け付けステップの後に前記外部装置に送信する送信ステップと、
前記送信ステップにて送信した前記ジョブの処理が前記外部装置によって完了していない場合に、前記外部装置への前記ジョブの送信が完了したにもかかわらず前記スプーラに前記ジョブの送信が完了していないと認識させるジョブ保持処理を実行する処理ステップと、を実行させるためのプログラムであって、
新たに前記外部装置が接続したことを前記プログラムが検知できない第1接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられた場合、前記受け付けステップの後にも前記取得ステップを実行し、
前記第1接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、且つ前記受け付けステップの後に実行された前記取得ステップにて取得された前記能力情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれる場合は、前記ジョブ保持処理を実行せず、前記第1接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、且つ前記受け付けステップの後に実行された前記取得ステップにて取得された前記能力情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれない場合は、前記ジョブ保持処理を実行し、
新たに前記外部装置が接続したことを前記プログラムが検知できる第2接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられた場合、前記受け付けステップの後には前記取得ステップを実行せず、
前記第2接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、且つ前記キャッシュ情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれる場合は、前記ジョブ保持処理を実行せず、前記第2接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、且つ前記キャッシュ情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれない場合は、前記ジョブ保持処理を実行ることを特徴とする。
Therefore, in order to achieve the above object, the program of the present invention
An acquisition step of acquiring from the external device capability information including information indicating whether or not the external device has a job queue capable of managing the job processing order;
A reception step for receiving a job transmission instruction;
A storing step of storing the capability information acquired from the external device by the acquiring step executed before the receiving step as cache information;
A transmission step to manage the job, to transmit the job to the spooler to manage with recognizing management function whether or not the transmission of the jobs managed has been completed, to the external device after the receiving step,
Wherein when the processing of the job transmitted by the transmission step is not completed by the external device, wherein not transmitting the job to the job the spooler even though the transmission is completed to the external device is completed A processing step for executing a job holding process to be recognized as a program,
An instruction to send the job to the external apparatus connected to the information processing apparatus via the first connection method in which the program cannot detect that the external apparatus is newly connected has been received in the receiving step. In the case, the acquisition step is executed even after the reception step,
In the acquisition step, an instruction to transmit the job to the external device connected to the information processing apparatus via the first connection method is received in the reception step, and executed after the reception step. If the acquired capability information includes information indicating that the external apparatus includes the job queue, the information processing apparatus does not execute the job holding process and does not execute the job holding process. An instruction to transmit the job to the connected external device is accepted in the accepting step, and the external device adds the job to the capability information obtained in the obtaining step executed after the accepting step. If not include information indicating that you have provided the queue, it executes the job holding process,
An instruction to send the job to the external apparatus connected to the information processing apparatus via the second connection method that allows the program to detect that the external apparatus is newly connected has been received in the receiving step. In this case, the acquisition step is not performed after the reception step,
An instruction to transmit the job to the external apparatus connected to the information processing apparatus via the second connection method is accepted in the accepting step, and the external apparatus includes the job queue in the cache information. The job holding process is not executed, and the job transmission instruction to the external device connected to the information processing apparatus via the second connection method is not included in the job holding process. accepted in accepting step, and the case where the external device to the cache information is not include information indicating that comprise the job queue, characterized and Turkey to perform the job retention process.

本発明の情報処理装置、制御方法及びプログラムによれば、外部装置の能力に応じて適切な場合にジョブ保持処理を実行できる。   According to the information processing apparatus, control method, and program of the present invention, job holding processing can be executed when appropriate according to the capability of an external apparatus.

本実施形態における情報処理装置と外部装置とによって構成された通信システムの構成を示すブロック図The block diagram which shows the structure of the communication system comprised by the information processing apparatus and external device in this embodiment 本実施形態における情報処理装置が備えるプリンタドライバの構成を示す概念図1 is a conceptual diagram illustrating a configuration of a printer driver included in an information processing apparatus according to an embodiment. 本実施形態における情報処理装置が行うポート初期化処理を示すフローチャートThe flowchart which shows the port initialization process which the information processing apparatus in this embodiment performs 本実施形態における情報処理装置が行う能力情報の取得処理を示すフローチャートThe flowchart which shows the acquisition process of the capability information which the information processing apparatus in this embodiment performs 本実施形態における情報処理装置が行うジョブの送信時の処理を示すフローチャートThe flowchart which shows the process at the time of the transmission of the job which the information processing apparatus in this embodiment performs 本実施形態における情報処理装置が行うキャッシュ情報が有効か無効かを判断する処理を示すフローチャートThe flowchart which shows the process which judges whether the cache information which the information processing apparatus in this embodiment performs is effective or invalid 本実施形態における情報処理装置が行うキャッシュ情報読み込み処理を示すフローチャートThe flowchart which shows the cache information reading process which the information processing apparatus in this embodiment performs 本実施形態における情報処理装置が行うジョブ保持処理を実行するか否かを判断する処理を示すフローチャートThe flowchart which shows the process which judges whether the job holding process which the information processing apparatus in this embodiment performs is performed 本実施形態における情報処理装置が行うジョブ保持処理を示すフローチャートThe flowchart which shows the job holding process which the information processing apparatus in this embodiment performs 本実施形態における情報処理装置が扱う能力情報の記載例Description example of capability information handled by information processing apparatus in this embodiment

以下に図面を参照して、本発明の好適な実施形態を例示的に説明する。ただし、本発明については、その趣旨を逸脱しない範囲で、当業者の通常の知識に基づいて、以下に記載する実施形態に対して適宜変更、改良が加えられたものについても本発明の範囲に入ることが理解されるべきである。   DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, exemplary embodiments of the invention will be described with reference to the drawings. However, the present invention is also within the scope of the present invention, as long as it does not depart from the spirit of the present invention, and based on the ordinary knowledge of those skilled in the art, the embodiments described below are appropriately modified and improved. It should be understood to enter.

(第1実施形態)
本発明を適用した情報処理装置及び、本発明を適用した情報処理装置と接続する外部装置について説明する。本実施形態においては、情報処理装置として、パーソナルコンピュータ(以下、PCという。)を例示している。なお、情報処理装置は、PCのみならず、画像処理装置、携帯端末、スマートフォン、ノートPC、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラなど種々のものを適用可能である。また、本発明を適用した情報処理装置と接続する外部装置として、情報処理装置と通信可能なインクジェット方式のプリンタを例示している。なお、他にも外部装置として、インクジェット方式のプリンタ以外の画像処理装置、PC、携帯端末、スマートフォン、タブレット端末、PDA、デジタルカメラ、テレビ、スキャナ等を利用可能である。また、インクジェット方式のプリンタ以外の画像処理装置は、例えば、フルカラーレーザービームプリンタ、モノクロプリンタ、複写機やファクシミリ装置等の装置である。さらに、それらの装置は、マルチファンクションであってもシングルファンクションであっても良い。
(First embodiment)
An information processing apparatus to which the present invention is applied and an external apparatus connected to the information processing apparatus to which the present invention is applied will be described. In this embodiment, a personal computer (hereinafter referred to as a PC) is exemplified as the information processing apparatus. The information processing apparatus is not limited to a PC, and various apparatuses such as an image processing apparatus, a portable terminal, a smartphone, a notebook PC, a tablet terminal, a PDA (Personal Digital Assistant), and a digital camera can be applied. Further, as an external device connected to the information processing apparatus to which the present invention is applied, an ink jet printer that can communicate with the information processing apparatus is illustrated. In addition, an image processing apparatus other than an inkjet printer, a PC, a portable terminal, a smartphone, a tablet terminal, a PDA, a digital camera, a television, a scanner, or the like can be used as an external apparatus. The image processing apparatus other than the ink jet printer is, for example, an apparatus such as a full color laser beam printer, a monochrome printer, a copying machine, or a facsimile machine. Further, these devices may be multi-function or single function.

本実施形態における情報処理装置と、本実施形態における外部装置とによって構成された通信システムの構成について図1のブロック図を参照して説明する。また、本実施形態では以下の構成を例に記載するが、本実施形態は外部装置と通信を行うことが可能な情報処理装置に関して適用可能なものであり、特にこの図のとおりに機能を限定するものではない。   A configuration of a communication system including the information processing apparatus according to the present embodiment and the external apparatus according to the present embodiment will be described with reference to the block diagram of FIG. Further, in the present embodiment, the following configuration is described as an example, but the present embodiment is applicable to an information processing apparatus capable of communicating with an external device, and the function is particularly limited as shown in this figure. Not what you want.

PC110は、本実施形態における情報処理装置である。PC110は、入力I/F111、CPU112、ROM113、出力I/F114、外部記憶装置115、RAM116、入力装置117、出力装置118、入出力I/F119を有する。   The PC 110 is an information processing apparatus in the present embodiment. The PC 110 includes an input I / F 111, a CPU 112, a ROM 113, an output I / F 114, an external storage device 115, a RAM 116, an input device 117, an output device 118, and an input / output I / F 119.

CPU112は、システム制御部であり、PC110の全体を制御する。   The CPU 112 is a system control unit and controls the entire PC 110.

ROM113は、CPU112が実行する制御プログラムやデータテーブル等の固定データを格納する。   The ROM 113 stores fixed data such as a control program executed by the CPU 112 and a data table.

外部記憶装置115は、オペレーティングシステム(以下、OSという。)やプリンタドライバ、その他各種のデータやソフトウェアを格納する。なお、本実施形態においては、例としてOSにWindows(登録商標)を使用しているものとする。   The external storage device 115 stores an operating system (hereinafter referred to as OS), a printer driver, and other various data and software. In this embodiment, it is assumed that Windows (registered trademark) is used for the OS as an example.

RAM116は、バックアップ電源を必要とするSRAM(Static Random Access Memory)等で構成され、図示しないデータバックアップ用の1次電池によってデータが保持されている。なお、RAM116は、データが消去されては困るプログラム制御変数等を格納する。また、RAM116は、ROM113や外部記憶装置115に保存される各種プログラムによってワークメモリーとして使用される。   The RAM 116 is constituted by an SRAM (Static Random Access Memory) that requires a backup power source, and data is held by a primary battery for data backup (not shown). Note that the RAM 116 stores program control variables and the like that are difficult to erase data. The RAM 116 is used as a work memory by various programs stored in the ROM 113 and the external storage device 115.

入力装置117は、ユーザからの操作を受け付ける操作部に該当し、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキー等から構成される。なお、入力装置117は、入力I/F111に接続されている。入力I/F111は、入力装置117を介してユーザからのデータ入力や動作指示を受け付けるためのインタフェースである。出力装置118は、データやPC110の状態を表示する表示部に該当し、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成される。なお、出力装置118は、出力I/F114に接続されている。出力I/F114は、出力装置118がデータ表示やPC110の状態の通知を行うための制御を行うインタフェースである。なお、情報の表示と操作の受付を同一部材で行うことで、入力装置117及び出力装置118を同一の構成としても良い。   The input device 117 corresponds to an operation unit that receives an operation from the user, and includes a numeric input key, a mode setting key, a determination key, a cancel key, a power key, and the like. The input device 117 is connected to the input I / F 111. The input I / F 111 is an interface for accepting data input and operation instructions from the user via the input device 117. The output device 118 corresponds to a display unit that displays data and the state of the PC 110, and includes an LED (light emitting diode), an LCD (liquid crystal display), and the like. Note that the output device 118 is connected to the output I / F 114. The output I / F 114 is an interface that performs control for the output device 118 to perform data display and notification of the state of the PC 110. Note that the input device 117 and the output device 118 may have the same configuration by performing information display and operation reception using the same member.

入出力I/F119は、接続インタフェース130を介して入出力I/F125と接続する。入出力I/F119と入出力I/F125とが接続することで、PC110とプリンタ120は相互に通信可能となる。なお、入出力I/F119は、本実施形態におけるポートに対応する。ポートとは、ポート同士を接続インタフェース130を介して接続することで、ポートを備える装置同士を通信可能にするためのものである。ポートの種類として、例えば、ネットワークを介した接続を行うためのネットワークポートや、プリンタとUSBによる接続を行うためのUSBポートがある。なお、ネットワークを介した接続において、ネットワークポートは、無線接続でダイレクトに接続しても良いし、有線ネットワーク上に設置したアクセスポイントを介して接続しても良い。また、ネットワークを介した接続は、例えば、有線LAN又はWireless LANによって行われる。また、接続のための通信方式としては、例えば、Wi−Fi(WirelessFidelity)やBluetooth(登録商標)や、NFC(Near Field Communication;ISO/IEC IS 18092)等が挙げられる。なお、ネットワークポートは、それぞれの通信方式、接続方式に応じて、個別に用意されていても良い。なお、本実施形態においては、PC110は、ポート1を用いてプリンタ120と接続しているものとする。   The input / output I / F 119 is connected to the input / output I / F 125 via the connection interface 130. By connecting the input / output I / F 119 and the input / output I / F 125, the PC 110 and the printer 120 can communicate with each other. The input / output I / F 119 corresponds to the port in this embodiment. The term “port” is used to enable communication between devices having ports by connecting the ports via the connection interface 130. Examples of the port type include a network port for connection via a network and a USB port for connection with a printer via USB. In connection via a network, the network port may be directly connected via a wireless connection, or may be connected via an access point installed on a wired network. The connection via the network is performed by, for example, a wired LAN or a wireless LAN. Examples of communication methods for connection include Wi-Fi (Wireless Fidelity) and Bluetooth (registered trademark), NFC (Near Field Communication; ISO / IEC IS 18092), and the like. Note that the network ports may be prepared individually according to each communication method and connection method. In this embodiment, it is assumed that the PC 110 is connected to the printer 120 using the port 1.

接続インタフェース130は、例えば、USB、LAN等であるが、これらに限定されない。なお、通信は無線通信でダイレクトに通信しても良いし、有線ネットワーク上に設置したアクセスポイントを介して通信しても良い。通信方式としては、例えば、Wi−Fi(WirelessFidelity)やBluetooth(登録商標)や、NFC(Near Field Communication;ISO/IEC IS 18092)等が挙げられる。   The connection interface 130 is, for example, a USB or a LAN, but is not limited thereto. The communication may be performed directly by wireless communication or may be performed via an access point installed on a wired network. Examples of the communication method include Wi-Fi (Wireless Fidelity), Bluetooth (registered trademark), NFC (Near Field Communication; ISO / IEC IS 18092), and the like.

プリンタ120は、本実施形態における外部装置である。プリンタ120は、RAM121、ROM122、プリントエンジン123、CPU124、入出力I/F125を有する。   The printer 120 is an external device in the present embodiment. The printer 120 includes a RAM 121, a ROM 122, a print engine 123, a CPU 124, and an input / output I / F 125.

CPU124は、システム制御部であり、プリンタ120の全体を制御する。   The CPU 124 is a system control unit and controls the entire printer 120.

ROM122は、CPU124が実行する制御プログラムやデータテーブル等の固定データを格納する。   The ROM 122 stores fixed data such as a control program executed by the CPU 124 and a data table.

RAM121は、バックアップ電源を必要とするSRAM(Static Random Access Memory)等で構成され、図示しないデータバックアップ用の1次電池によってデータが保持されている。なお、RAM121は、データが消去されては困るプログラム制御変数等を格納する。また、RAM121は、CPU124のワークメモリーとして使用され、受信したデータの一時保存用バッファとしても利用される。   The RAM 121 is configured by an SRAM (Static Random Access Memory) that requires a backup power source, and data is held by a primary battery for data backup (not shown). Note that the RAM 121 stores program control variables and the like that are difficult to delete data. The RAM 121 is used as a work memory for the CPU 124 and is also used as a temporary storage buffer for received data.

プリントエンジン123は、RAM121に保存されたデータ及び、PC110から受信した印刷ジョブに基づいて、インク等の記録剤を用いて紙等の記録媒体上に画像を形成し、印刷結果を出力する。   Based on the data stored in the RAM 121 and the print job received from the PC 110, the print engine 123 forms an image on a recording medium such as paper using a recording agent such as ink, and outputs the printing result.

入出力I/F125は、接続インタフェース130を介して入出力I/F119と接続する。   The input / output I / F 125 is connected to the input / output I / F 119 via the connection interface 130.

外部記憶装置115に格納されているソフトウェアの構成について、図2のブロック図を参照して説明する。図2に示す構成のうち、構成202、204乃至206がOSのモジュール、構成203、207及び208がプリンタドライバのモジュールとしているが、それぞれの構成は、OSとプリンタドライバのうちいずれのモジュールであってもいい。それぞれの構成が実行する処理は、CPU112が、それぞれの構成に対応するプログラムを外部記憶装置115から読みだしてRAM116にロードし、そのプログラムを実行することにより実現されるものとする。アプリケーション201は、外部記憶装置115に保存されており、印刷する有償コンテンツ等の画像情報や文字情報を含む描画情報、用紙サイズやレイアウト等の印刷設定情報等を含む印刷データを作成する。アプリケーション201が作成した印刷データは、OSの印刷サポート機能202を介しUIモジュール203から返却される印刷設定情報が付加され、スプールデータ206としてスプーラ204のジョブキュー205に一時的に保存される。スプーラ204は、ジョブ管理機能を有し、渡されたスプールデータ206を、スプールデータ206に応じた印刷ジョブの送信が完了したと認識するまで保持し管理する。具体的には、スプーラ204は、例えば、プリンタ毎に、印刷ジョブのサイズ、ジョブ名等を管理し、管理している情報をステータス表示アプリケーションに伝達することで、当該情報を出力装置118等に表示する。また、紙ジャムなどのエラー発生時に備え、印刷データを含むジョブそのものをジョブ終了まで保持するようにしても良い。なお、ジョブキュー205に保存されているスプールデータ206の情報は、例えば、グラフィックスドライバ207やUIモジュール203、アプリケーション201などを介して所定のインタフェース関数を用いて参照することできる。スプールデータ206は、グラフィックスドライバ207により、プリンタ120が解釈可能な印刷コマンドへ変換され、印刷ジョブが生成される。生成された印刷ジョブはスプーラ204からランゲージモニタ208へ送信される。ランゲージモニタ208は、印刷ジョブを特定サイズのパケットに区切り、入出力I/F119及び入出力I/F125を介して、プリンタ120に逐一送信する。なお、このとき、一回に送信するデータの大きさは、スプーラ204によって指示される。なお、スプーラ204は、当該指示を、アプリケーション201やUIモジュール203によって指示されることで実行する。また、ランゲージモニタ208の機能として、プリンタ120又はプリンタ120に投入されたジョブの状態の情報を取得する機能がある。なお、ジョブとは、例えば、印刷ジョブやスキャンジョブ、メンテナンスジョブ等である。PC110は、プリンタ120にジョブを送信することで、ジョブに応じた印刷やスキャン、メンテナンス等の処理を実行させる。   The configuration of software stored in the external storage device 115 will be described with reference to the block diagram of FIG. Of the configurations shown in FIG. 2, configurations 202, 204 to 206 are OS modules, and configurations 203, 207, and 208 are printer driver modules. Each configuration is either an OS or a printer driver module. It ’s okay. The processing executed by each configuration is realized by the CPU 112 reading a program corresponding to each configuration from the external storage device 115, loading it into the RAM 116, and executing the program. The application 201 is stored in the external storage device 115 and creates print data including drawing information including image information and character information such as paid content to be printed, print setting information such as paper size and layout, and the like. The print data created by the application 201 is added with print setting information returned from the UI module 203 via the OS print support function 202, and is temporarily stored in the job queue 205 of the spooler 204 as spool data 206. The spooler 204 has a job management function, and holds and manages the passed spool data 206 until it recognizes that the transmission of the print job corresponding to the spool data 206 is completed. Specifically, the spooler 204 manages, for example, the size and job name of a print job for each printer, and transmits the managed information to the status display application, so that the information is output to the output device 118 and the like. indicate. Further, in preparation for an error such as a paper jam, the job itself including the print data may be held until the end of the job. Note that information on the spool data 206 stored in the job queue 205 can be referred to using a predetermined interface function via the graphics driver 207, UI module 203, application 201, and the like. The spool data 206 is converted into a print command interpretable by the printer 120 by the graphics driver 207, and a print job is generated. The generated print job is transmitted from the spooler 204 to the language monitor 208. The language monitor 208 divides the print job into packets of a specific size and transmits the packets to the printer 120 via the input / output I / F 119 and the input / output I / F 125 one by one. At this time, the size of data to be transmitted at one time is instructed by the spooler 204. The spooler 204 executes the instruction when instructed by the application 201 or the UI module 203. As a function of the language monitor 208, there is a function of acquiring information on the status of the printer 120 or a job input to the printer 120. The job is, for example, a print job, a scan job, a maintenance job, or the like. The PC 110 transmits a job to the printer 120 to execute processing such as printing, scanning, and maintenance according to the job.

図3は、本実施形態におけるポート初期化処理を示すフローチャートである。ポート初期化処理とは、PC110が、PC110が備えるポートに接続されているプリンタの能力情報及びDevice IDを取得し、取得した情報を、初期化を行うポートに対応付けて記憶する処理である。   FIG. 3 is a flowchart showing the port initialization process in this embodiment. The port initialization process is a process in which the PC 110 acquires capability information and Device ID of a printer connected to a port included in the PC 110, and stores the acquired information in association with a port to be initialized.

能力情報とは、プリンタの設定状況やケーパブリティを示す情報である。能力情報は、例えば、プリンタのシリアル番号等のプリンタに関する静的な情報や、プリンタの設定情報、プリンタがサポートしている機能の情報等で構成され、図10のようなXMLデータによって記載される。図10のXMLデータにおいて、statusタグは、問い合わせに対する応答結果を返しており、この例では問い合わせが成功したことを表している。また、deviceタグは、プリンタの基本情報を表しており、例えばmodelタグはプリンタの機種名を、serial numberタグはプリンタの識別番号を表している。さらに、silentmodeタグがプリンタがサイレントモードをサポートしているか否かを、queueタグが、プリンタがジョブキューを備えているか否かを表している。ジョブキューとは、ジョブをキューイングして保持するための構成であり、ジョブキューを備えているプリンタは、受信したジョブをジョブキューにキューイングし、キューイングした順番にジョブを処理することができる。さらに、printqualityタグが、プリンタがサポートしている印刷の品位レベルを、papersizeタグが、プリンタがサポートしている記録媒体のサイズを表している。さらに、optionhddタグが、オプションをサポートしているか否かを表している。オプションとは、プリンタ120に着脱できる装置のことであり、プリンタ120に装着することで、当該オプション装置に対応した機能をプリンタ120に付加させたり、従来の機能を拡張することができる。プリンタ120のオプションとして、例えば、増設メモリや給紙ユニット、Bluetooth(登録商標)ユニット等がある。また、プリンタ120に付加/拡張可能な機能として、例えば、保持可能な記録媒体の種類や枚数、Bluetooth(登録商標)通信、ジョブのキューイング機能等がある。   The capability information is information indicating the printer setting status and capability. The capability information includes, for example, static information about the printer such as a printer serial number, printer setting information, information on functions supported by the printer, and the like, and is described by XML data as shown in FIG. . In the XML data of FIG. 10, the status tag returns a response result to the inquiry, and in this example, the inquiry is successful. The device tag represents basic information of the printer. For example, the model tag represents the model name of the printer, and the serial number tag represents the printer identification number. Further, the silentmode tag indicates whether the printer supports the silent mode, and the queue tag indicates whether the printer has a job queue. A job queue is a configuration for queuing and holding jobs, and a printer equipped with a job queue can queue received jobs in the job queue and process the jobs in the queued order. it can. Further, the print quality tag represents the print quality level supported by the printer, and the papersize tag represents the size of the recording medium supported by the printer. Further, the option hdd tag indicates whether the option is supported. An option is a device that can be attached to and detached from the printer 120. By attaching the option to the printer 120, a function corresponding to the optional device can be added to the printer 120 or a conventional function can be expanded. Options for the printer 120 include, for example, an additional memory, a paper feed unit, a Bluetooth (registered trademark) unit, and the like. Further, functions that can be added / expanded to the printer 120 include, for example, the type and number of recording media that can be held, Bluetooth (registered trademark) communication, and a job queuing function.

なお、能力情報には、この他にも、カラー印刷やモノクロ印刷、両面印刷、フチ無し印刷、スキャン機能等に対応しているか否かの情報や、プリンタが対応している印刷データ形式の情報等を表しても良い。また、XML以外の記載方式によってこれらの情報を表しても良い。   In addition, the capability information includes information on whether color printing, monochrome printing, double-sided printing, borderless printing, scanning function, etc. are supported, and information on the print data format supported by the printer. Etc. may be expressed. Further, these pieces of information may be expressed by a description method other than XML.

また、Device IDとは、プリンタを識別するためのプリンタ固有の情報であり、例えば、シリアルナンバー等である。   The device ID is information unique to the printer for identifying the printer, such as a serial number.

ポート初期化処理は、例えば、OSが起動した場合や、プリンタドライバがインストールされた場合、PC110に接続されているプリンタが繋ぎ直された場合等に実行される。他にも、プリンタに対してジョブが送信される場合、プリンタドライバのUIが開かれた場合、アプリケーション201からプリンタの能力情報の取得要求が行われた場合等に実行される。ポート初期化処理を行うポートは、ポート初期化処理の実行要因によって決まる。例えば、OSが起動した場合にポート初期化処理が実行される場合は、ポート初期化処理は、プリンタが接続されている全てのポートに対して実行される。また、PC110に接続されているプリンタが繋ぎ直された場合やプリンタに対してジョブが送信される場合にポート初期化処理が実行される場合は、ポート初期化処理は、処理対象のプリンタが接続されているポートに対して実行される。   The port initialization process is executed, for example, when the OS is started, when a printer driver is installed, or when a printer connected to the PC 110 is reconnected. In addition, it is executed when a job is transmitted to the printer, when a printer driver UI is opened, when a request for acquiring capability information of the printer is made from the application 201, or the like. The port for which the port initialization process is performed is determined by the execution factor of the port initialization process. For example, when the port initialization process is executed when the OS is started, the port initialization process is executed for all ports to which the printer is connected. When the printer connected to the PC 110 is reconnected or when the port initialization process is executed when a job is transmitted to the printer, the port initialization process is performed when the printer to be processed is connected. It is executed for the specified port.

以下の説明において、ランゲージモニタ208が行う処理は、実際には、CPU112が、外部記憶装置115に格納されているランゲージモニタ208に対応するプログラムを実行することにより実現されるものとする。また、以下の説明においては、ポート初期化処理はポート1に対して行われるものとする。   In the following description, the processing performed by the language monitor 208 is actually realized by the CPU 112 executing a program corresponding to the language monitor 208 stored in the external storage device 115. In the following description, it is assumed that port initialization processing is performed for port 1.

まず、S301にて、ランゲージモニタ208は、ポート1に接続されているプリンタ(プリンタ120)の能力情報の取得処理を実行する。S301の処理の詳細は、図4を用いて後述する。   First, in step S <b> 301, the language monitor 208 executes a capability information acquisition process for the printer (printer 120) connected to the port 1. Details of the processing of S301 will be described later with reference to FIG.

続いて、S302にて、ランゲージモニタ208は、プリンタ120のDevice IDを取得し、S301で取得した能力情報とポート1とに対応付けて、外部記憶装置115に不揮発に保存する。なお、Device IDは、例えば、ランゲージモニタ208がDevice IDを取得するためのコマンドをプリンタ120に送信することで、取得することができる。   Subsequently, in S302, the language monitor 208 acquires the device ID of the printer 120, and stores it in the external storage device 115 in a nonvolatile manner in association with the capability information acquired in S301 and the port 1. The device ID can be acquired by, for example, transmitting a command for the device monitor 208 to acquire the device ID to the printer 120.

次に、図4を用いて能力情報の取得処理の詳細を説明する。図4は、能力情報の取得処理の詳細を示すフローチャートである。以下の説明において、ランゲージモニタ208が行う処理は、実際には、CPU112が、外部記憶装置115に格納されているランゲージモニタ208に対応するプログラムを実行することにより実現されるものとする。なお、能力情報の取得処理の対象となるプリンタは、能力情報の取得処理の実行要因によって決まる。ポート初期化処理の際に実行される場合は、能力情報の取得処理は、初期化対象のポートに接続されているプリンタに対して実行される。後述するようなジョブの送信時に実行される場合は、能力情報の取得処理は、ジョブの送信先のプリンタに対して実行される。また、以下の説明においては、能力情報の取得処理はプリンタ120に対して実行されるものとする。   Next, details of the capability information acquisition process will be described with reference to FIG. FIG. 4 is a flowchart showing details of the capability information acquisition process. In the following description, the processing performed by the language monitor 208 is actually realized by the CPU 112 executing a program corresponding to the language monitor 208 stored in the external storage device 115. The printer that is the target of the capability information acquisition process is determined by the execution factor of the capability information acquisition process. When executed during the port initialization process, the capability information acquisition process is executed for the printer connected to the port to be initialized. When executed at the time of job transmission as will be described later, the capability information acquisition process is executed for the printer to which the job is sent. In the following description, it is assumed that the capability information acquisition process is executed for the printer 120.

まず、S401にて、ランゲージモニタ208は、プリンタ120の能力情報を取得する。本実施形態では、ランゲージモニタ208は、能力情報取得プロトコルに従ったXMLデータを含むユニキャストをプリンタ120に対して送信し、その後TCP通信を介してXMLデータを送受信することで、プリンタ120の能力情報を取得するものとする。なお、このとき、ランゲージモニタ208は、プリンタ120の能力情報を読み込みも行っている。   First, in step S <b> 401, the language monitor 208 acquires capability information of the printer 120. In the present embodiment, the language monitor 208 transmits a unicast including XML data according to the capability information acquisition protocol to the printer 120, and then transmits and receives the XML data via TCP communication. Information shall be obtained. At this time, the language monitor 208 also reads the capability information of the printer 120.

続いて、S402にて、ランゲージモニタ208は、S401の処理が成功し、能力情報が取得できたか否かを判定する。能力情報が取得できたと判定した場合には、ランゲージモニタ208は、S403にて、取得した能力情報をキャッシュ情報として、プリンタ120が接続しているポート(ポート1)と対応付けて外部記憶装置115に不揮発に保存し、その後処理を終了する。一方、データ通信に失敗した場合等、能力情報が取得できなかったと判定した場合には、ランゲージモニタ208は、S404にて、ポート1に対応付けられて保存されているキャッシュ情報からプリンタ120の能力情報を読み込む。その後、ランゲージモニタ208は処理を終了する。なお、このとき、ランゲージモニタ208は、キャッシュ情報の読み込みに失敗した場合も、キャッシュ情報の読み込みに失敗した状態で処理を終了する。   Subsequently, in S402, the language monitor 208 determines whether or not the process of S401 has succeeded and capability information has been acquired. If it is determined that the capability information has been acquired, the language monitor 208 associates the acquired capability information as cache information with the port (port 1) to which the printer 120 is connected in step S403 and associates it with the external storage device 115. Is stored in a nonvolatile manner, and then the process is terminated. On the other hand, if it is determined that the capability information has not been acquired, such as when data communication has failed, the language monitor 208 determines the capability of the printer 120 from the cache information stored in association with port 1 in S404. Read information. Thereafter, the language monitor 208 ends the process. At this time, the language monitor 208 also ends the processing in a state where the reading of the cache information has failed even when the reading of the cache information fails.

図5は、ジョブの送信時の処理を示すフローチャートである。以下の説明において、ランゲージモニタ208が行う処理は、実際には、CPU112が、外部記憶装置115に格納されているランゲージモニタ208に対応するプログラムを実行することにより実現されるものとする。また、以下の説明においては、図5のフローチャートが示す処理は、ジョブをプリンタ120に送信する際に行われるものとする。   FIG. 5 is a flowchart showing processing at the time of job transmission. In the following description, the processing performed by the language monitor 208 is actually realized by the CPU 112 executing a program corresponding to the language monitor 208 stored in the external storage device 115. In the following description, it is assumed that the process shown in the flowchart of FIG. 5 is performed when a job is transmitted to the printer 120.

まず、S501にて、ランゲージモニタ208は、プリンタ120のDevice IDを取得し、プリンタ120のDevice IDをプリンタ120が接続しているポート(ポート1)と対応付けて外部記憶装置115に不揮発に保存する。なお、このとき、ポート1と対応付けて前回保存したDevice IDは、S502の処理において利用するため、削除せずに保存しておく。   First, in step S <b> 501, the language monitor 208 acquires the device ID of the printer 120 and associates the device ID of the printer 120 with the port (port 1) to which the printer 120 is connected in a nonvolatile manner in the external storage device 115. To do. At this time, the Device ID previously stored in association with the port 1 is stored without being deleted because it is used in the processing of S502.

続いて、S502にて、ランゲージモニタ208は、ポート1と対応付けて外部記憶装置115に不揮発に保存してある能力情報のキャッシュ情報が有効か無効かを判断する処理を実行する。キャッシュ情報が有効か無効かを判断する処理の詳細は、図6を用いて後述する。   In step S <b> 502, the language monitor 208 executes processing for determining whether or not the cache information of capability information stored in the external storage device 115 in a nonvolatile manner in association with the port 1 is valid. Details of the process for determining whether the cache information is valid or invalid will be described later with reference to FIG.

続いて、S503では、ランゲージモニタ208は、S501の処理の結果、キャッシュ情報が有効と判断されたか否かを判定する。S501において、キャッシュ情報が無効と判断された場合には、ランゲージモニタ208は、キャッシュ情報を参照すべきではないので、S50にてキャッシュ情報を削除し、S50にてプリンタ120の能力情報の取得処理を実行する。S50の能力情報の取得処理は、図4のフローチャートに示す処理と同様であるので説明を省略する。S501において、キャッシュ情報が有効と判断された場合には、ランゲージモニタ208は、S509にて、プリンタ120の能力情報が読み込まれているか否かを判定する。例えば、ポート1のポート初期化処理等の際に、プリンタ120の能力情報をすでに読み込んでいる場合には、ランゲージモニタ208は、プリンタ120の能力情報が読み込まれていると判定し、S506の処理を行う。一方、ポート1のポート初期化処理等の際に、プリンタ120の能力情報の読み込みに失敗している場合は、プリンタ120の能力情報が読み込まれていないと判定し、S510のキャッシュ情報読み込み処理を実行する。キャッシュ情報読み込み処理の詳細は、図7を用いて後述する。 In step S503, the language monitor 208 determines whether the cache information is determined to be valid as a result of the processing in step S501. In S501, if the cache information is determined to be invalid, the language monitor 208, so should not be caching information, at S50 4 deletes the cached information, S50 5 in the capability information of the printer 120 Execute the acquisition process. S50 acquisition processing capability information 5 will be omitted since it is similar to the process shown in the flowchart of FIG. If it is determined in S501 that the cache information is valid, the language monitor 208 determines in S509 whether the capability information of the printer 120 has been read. For example, if the capability information of the printer 120 has already been read at the time of port initialization processing of the port 1, the language monitor 208 determines that the capability information of the printer 120 has been read, and the processing of S506 I do. On the other hand, if the capability information reading of the printer 120 has failed in the port initialization processing of the port 1, it is determined that the capability information of the printer 120 has not been read, and the cache information reading processing in S510 is performed. Execute. Details of the cache information reading process will be described later with reference to FIG.

続いて、S506では、ランゲージモニタ208は、ジョブ保持処理を実行するか否かを判断する処理を実行する。ジョブ保持処理とは、実際にはジョブの送信が完了していても、スプーラ204に対しては、ジョブの送信が完了していないと通知することで、ジョブをジョブキュー205に残す処理をいう。ジョブ保持処理を実行することで、ランゲージモニタ208は、ランゲージモニタ208の機能によってプリンタ120がジョブの処理を完了するまで、当該ジョブの状態を監視することができる。具体的には、ランゲージモニタ208は、ジョブの状態として、ジョブ処理におけるエラーの有無やジョブの処理が完了したか否かを監視することができる。なお、ジョブ保持処理を実行するか否かを判断する処理の詳細は、図8を用いて後述する。   Subsequently, in S506, the language monitor 208 executes a process for determining whether or not to execute the job holding process. The job holding process is a process of leaving a job in the job queue 205 by notifying the spooler 204 that the job transmission is not completed even if the job transmission is actually completed. . By executing the job holding process, the language monitor 208 can monitor the status of the job until the printer 120 completes the job processing by the function of the language monitor 208. Specifically, the language monitor 208 can monitor the presence / absence of an error in job processing and whether or not job processing has been completed as the job status. Details of the process for determining whether or not to execute the job holding process will be described later with reference to FIG.

続いて、S507では、ランゲージモニタ208は、S506における処理の結果に応じて、ジョブの送信及びジョブ保持処理を行う。ジョブの送信及びジョブ保持処理の詳細は、図9を用いて後述する。   In step S507, the language monitor 208 performs job transmission and job holding processing according to the processing result in step S506. Details of job transmission and job holding processing will be described later with reference to FIG.

続いて、S508では、ランゲージモニタ208は、プリンタ120のDevice IDをプリンタ120が接続しているポートと対応付けて外部記憶装置115に不揮発に保存し、処理を終了する。   In step S <b> 508, the language monitor 208 stores the device ID of the printer 120 in a nonvolatile manner in the external storage device 115 in association with the port to which the printer 120 is connected, and ends the process.

また、近年、オプションを脱着させることにより、ケーパビリティを任意にカスタマイズできるプリンタが知られている。このようなオプションをサポートしているプリンタの能力情報は、オプションの脱着によって変化することがある。そのため、現在接続しているプリンタがオプションをサポートしているプリンタである場合、キャッシュ情報として保存した能力情報と、プリンタの現在の能力情報とが乖離している可能性があり、ランゲージモニタ208は、キャッシュ情報を利用すべきでない。   In recent years, printers that can arbitrarily customize capabilities by attaching / detaching options have been known. The capability information of a printer that supports such an option may change depending on the attachment / detachment of the option. Therefore, when the currently connected printer is a printer that supports the option, there is a possibility that the capability information stored as the cache information and the current capability information of the printer are different from each other. , Cache information should not be used.

また、PC110に接続されているプリンタが入れ替わった際には、当該プリンタが接続していたポートに対応付けて保存されていた能力情報は、新たに接続したプリンタの能力情報に更新される必要がある。しかし、所定の接続方式によって外部装置と接続するポートは、接続するプリンタが入れ替わったことを検知できない。そのようなポートは、接続するプリンタが入れ替わった場合でも、ポート初期化処理が実行されず、そのポートに対応付けられた能力情報が更新されない。そのため、現在接続しているプリンタが、接続するプリンタが入れ替わったことを検知できないポートに接続しているプリンタである場合、事前にキャッシュ情報として保存した能力情報と、プリンタの現在の能力情報とが乖離している可能性がある。そのため、ランゲージモニタ208は、キャッシュ情報を利用すべきでない。そこで、本実施形態では、能力情報のキャッシュ情報を利用する処理を行う場合は、まず、キャッシュ情報が有効か無効かを判断する処理を実行し、無効と判断した場合に、再度能力情報の取得処理を実行する。   Further, when the printer connected to the PC 110 is switched, the capability information stored in association with the port to which the printer is connected needs to be updated to the capability information of the newly connected printer. is there. However, a port connected to an external device by a predetermined connection method cannot detect that the printer to be connected has been switched. For such a port, even when the connected printer is changed, the port initialization process is not executed, and the capability information associated with the port is not updated. Therefore, if the currently connected printer is a printer connected to a port that cannot detect that the connected printer has been switched, the capability information saved as cache information in advance and the current capability information of the printer are There may be a divergence. Therefore, the language monitor 208 should not use cache information. Therefore, in this embodiment, when performing processing using the cache information of capability information, first, processing for determining whether the cache information is valid or invalid is executed, and when it is determined that the cache information is invalid, acquisition of capability information is performed again. Execute the process.

図6を用いて、キャッシュ情報が有効か無効かを判断する処理の詳細を説明する。以下の説明において、ランゲージモニタ208が行う処理は、実際には、CPU112が、外部記憶装置115に格納されているランゲージモニタ208に対応するプログラムを実行することにより実現されるものとする。また、以下の説明においては、図6のフローチャートが示す処理は、ジョブをプリンタ120に送信する際に行われるものとする。   Details of processing for determining whether the cache information is valid or invalid will be described with reference to FIG. In the following description, the processing performed by the language monitor 208 is actually realized by the CPU 112 executing a program corresponding to the language monitor 208 stored in the external storage device 115. In the following description, it is assumed that the processing shown in the flowchart of FIG. 6 is performed when a job is transmitted to the printer 120.

まず、S601では、ランゲージモニタ208は、保存されている能力情報のキャッシュ情報から、プリンタ120がオプションをサポートしているか否かを判定する。S601にて、オプションをサポートしていると判定した場合には、当該判定に用いた能力情報がプリンタ120の能力情報であってもキャッシュ情報を利用すべきでないため、ランゲージモニタ208は、S606にてキャッシュ情報は無効と判断する。また、S601にて、オプションをサポートしていないと判定した場合には、ランゲージモニタ208は、S602の処理を行う。   First, in step S601, the language monitor 208 determines whether the printer 120 supports the option from the cache information of the stored capability information. If it is determined in step S601 that the option is supported, the cache information should not be used even if the capability information used for the determination is the capability information of the printer 120. Therefore, the language monitor 208 determines in step S606. Cache information is invalid. If it is determined in S601 that the option is not supported, the language monitor 208 performs the process of S602.

S602では、ランゲージモニタ208は、プリンタ120が、プリンタの接続時にポート初期化処理が実行されるポートに接続されているか否かを判定する。前述したように、ポートの種類によっては、接続するプリンタが入れ替わったことを検知できないものがある。そのようなポートは、接続するプリンタが入れ替わった場合でも、ポート初期化処理が実行されず、そのポートに対応付けられた能力情報が更新されない。接続するプリンタが入れ替わったことを検知でき、プリンタの接続時にポート初期化処理が起動されるポートは、例えば、USBポートである。一方、接続するプリンタが入れ替わったことを検知できず、プリンタの接続時にポート初期化処理が起動されないポートは、例えば、ネットワークポートである。プリンタ120が、プリンタの接続時にポート初期化処理が起動されるポートに接続している場合には、当該プリンタが接続した時にポート初期化処理が行われ、キャッシュ情報の更新が行われている。さらに、S601の判定によって、ポート初期化処理が行われた後に、オプションの着脱によってプリンタの能力情報が変化することがないことも確認されている。よって、ランゲージモニタ208は、S601にて、ポート初期化処理が実行されるポートに接続されていると判定した場合には、S605にて、キャッシュ情報は有効と判断する。一方、ランゲージモニタ208は、S601にて、ポート初期化処理が実行されるポートに接続されていないと判定した場合には、S603の処理を行う。なお、S601における判定は、例えば、ポート名やポートモニタのモジュール名から、プリンタ120が接続しているポートの種別を識別した後、プリンタ120が接続しているポート(ポート1)がUSBポートか否かを判定することによって行われる。または、キャッシュ情報がいずれのポートに対応付けられて保存されているかを識別し、そのポートがUSBポートか否かを判定することによって行われても良い。   In step S602, the language monitor 208 determines whether the printer 120 is connected to a port on which port initialization processing is executed when the printer is connected. As described above, depending on the type of port, there is a case where it cannot be detected that the connected printer has been switched. For such a port, even when the connected printer is changed, the port initialization process is not executed, and the capability information associated with the port is not updated. The port that can detect that the printer to be connected has been switched and the port initialization process is started when the printer is connected is, for example, a USB port. On the other hand, the port that cannot detect that the printer to be connected has been switched and the port initialization process is not started when the printer is connected is, for example, a network port. When the printer 120 is connected to a port where the port initialization process is activated when the printer is connected, the port initialization process is performed when the printer is connected, and the cache information is updated. Further, it is confirmed by the determination in S601 that the capability information of the printer does not change due to the attachment / detachment of the option after the port initialization process is performed. Therefore, if the language monitor 208 determines in S601 that it is connected to the port on which the port initialization process is executed, it determines that the cache information is valid in S605. On the other hand, if the language monitor 208 determines in S601 that it is not connected to the port on which the port initialization process is executed, it performs the process of S603. The determination in S601 is, for example, whether the port connected to the printer 120 (port 1) is a USB port after identifying the type of port connected to the printer 120 from the port name or the module name of the port monitor. This is done by determining whether or not. Alternatively, it may be performed by identifying which port the cache information is stored in association with and determining whether the port is a USB port.

プリンタ120が、プリンタの接続時にポート初期化処理が実行されるポートに接続されていない場合は、プリンタの入れ替えが行われたにもかかわらず、キャッシュ情報として保存している能力情報の更新が行われていない可能性がある。そこで、S603では、ランゲージモニタ208は、プリンタ120と、キャッシュ情報として保存している能力情報の提供元であるプリンタが同一か否かを判定する。プリンタが同一でないと判定した場合、キャッシュ情報として保存している能力情報の更新が行われていないことから新たに能力情報を取得する必要があるため、ランゲージモニタ208は、S604にて、キャッシュ情報は無効と判断する。一方、プリンタが同一であると判定した場合、ランゲージモニタ208は、S605にて、キャッシュ情報は有効と判定する。この判定は、例えば、ランゲージモニタ208が、S501にて直前に取得したDevice IDと、S501にて取得する前に保存していたDevice IDとを比較することで行われる。S501にて直前に取得したDevice IDは、プリンタ120のDevice IDに対応する。また、S501にて取得する前に保存していたDevice IDは、キャッシュ情報として保存している能力情報の提供元であるプリンタのDevice IDに対応する。なお、この判定は、ランゲージモニタ208が、プリンタのシリアルナンバー等、プリンタを一意に示す識別情報や、プリンタの機種名で比較することによって行われても良い。また、シリアルナンバーや機種名の等の情報は、Device IDに含まれる情報であっても良い。   If the printer 120 is not connected to a port on which port initialization processing is executed when the printer is connected, the capability information stored as cache information is updated even though the printer is replaced. There is a possibility that it is not. In step S603, the language monitor 208 determines whether the printer 120 is the same as the printer that provides the capability information stored as cache information. If it is determined that the printers are not identical, the capability information stored as the cache information has not been updated, and it is necessary to acquire new capability information. Is considered invalid. On the other hand, if it is determined that the printers are the same, the language monitor 208 determines that the cache information is valid in S605. This determination is performed, for example, by the language monitor 208 comparing the Device ID acquired immediately before in S501 with the Device ID stored before acquiring in S501. The Device ID acquired immediately before in S <b> 501 corresponds to the Device ID of the printer 120. Further, the Device ID stored before acquisition in S501 corresponds to the Device ID of the printer that is the provider of capability information stored as cache information. Note that this determination may be performed by the language monitor 208 comparing the identification information uniquely indicating the printer, such as a printer serial number, or the model name of the printer. The information such as the serial number and the model name may be information included in the device ID.

なお、S603の処理を行わない構成としても良い。この場合、キャッシュ情報が有効か無効かの判断の精度は下がるが、S501の処理を実行する必要がなくなり、PC110の負荷を減らすことができる。   A configuration in which the process of S603 is not performed may be employed. In this case, the accuracy of determining whether the cache information is valid or not decreases, but it is not necessary to execute the process of S501, and the load on the PC 110 can be reduced.

本実施形態では、ランゲージモニタ208は、ジョブの送信先のプリンタの能力情報が変化するか否かを判定することで、キャッシュ情報が有効か無効かを判断する。さらに、本実施形態では、ランゲージモニタ208は、ジョブの送信先のプリンタとキャッシュ情報として保存している能力情報の提供元であるプリンタが同一か否かを判定することで、キャッシュ情報が有効か無効かを判断する。このような形態とすることで、ランゲージモニタ208は、現在の情報と乖離した無効な情報を利用してしまうことを回避することができる。さらに、本実施形態では、S504及びS505に示したように、図6のフローチャートが示す処理においてキャッシュ情報が無効と判断された場合は、能力情報の取得処理を実行する。このような形態とすることで、キャッシュ情報が無効であった場合にも、有効な情報を再度取得することができる。さらに、本実施形態では、図6のフローチャートが示す処理においてキャッシュ情報が有効と判断された場合は、能力情報の取得処理を実行しない。能力情報の取得処理は、PC110及び能力情報を提供するプリンタの双方にとって負荷がかかる。しかし、このように、キャッシュ情報が有効であり能力情報の取得処理が必要ない場合には能力情報の取得処理を実行しない形態とすることで、本実施形態では、PC110及びプリンタの負荷を軽減することができる。   In this embodiment, the language monitor 208 determines whether the cache information is valid or invalid by determining whether or not the capability information of the printer that is the job transmission destination changes. Furthermore, in this embodiment, the language monitor 208 determines whether or not the cache information is valid by determining whether or not the printer that is the job transmission destination and the printer that provides the capability information stored as the cache information are the same. Determine whether it is invalid. By adopting such a form, the language monitor 208 can avoid using invalid information that deviates from the current information. Furthermore, in this embodiment, as shown in S504 and S505, when it is determined that the cache information is invalid in the process shown in the flowchart of FIG. 6, a capability information acquisition process is executed. By adopting such a form, even when the cache information is invalid, valid information can be acquired again. Further, in the present embodiment, when the cache information is determined to be valid in the process shown in the flowchart of FIG. 6, the ability information acquisition process is not executed. Capability information acquisition processing places a burden on both the PC 110 and the printer that provides the capability information. However, in this embodiment, when the cache information is valid and the capability information acquisition process is not required, the capability information acquisition process is not executed. In this embodiment, the load on the PC 110 and the printer is reduced. be able to.

なお、キャッシュ情報が有効か無効かを判断する処理は、ジョブを送信する情報処理装置だけでなく、接続している外部装置に関するキャッシュ情報を利用する種々の処理を実行する情報処理装置に適用することが可能である。キャッシュ情報を利用する処理として、例えば、情報処理装置に接続している外部装置の状態をユーザに通知する処理等が挙げられる。   The process for determining whether the cache information is valid or invalid applies not only to the information processing apparatus that transmits the job, but also to the information processing apparatus that executes various processes that use the cache information related to the connected external device. It is possible. Examples of processing using cache information include processing for notifying the user of the state of an external device connected to the information processing device.

図7を用いて、キャッシュ情報読み込み処理の詳細を説明する。以下の説明において、ランゲージモニタ208が行う処理は、実際には、CPU112が、外部記憶装置115に格納されているランゲージモニタ208に対応するプログラムを実行することにより実現されるものとする。また、以下の説明においては、図7のフローチャートが示す処理は、ジョブがプリンタ120に送信される際に行われるものとする。   Details of the cache information reading process will be described with reference to FIG. In the following description, the processing performed by the language monitor 208 is actually realized by the CPU 112 executing a program corresponding to the language monitor 208 stored in the external storage device 115. In the following description, it is assumed that the process shown in the flowchart of FIG. 7 is performed when a job is transmitted to the printer 120.

まず、S701では、ランゲージモニタ208は、能力情報の取得処理において保存した、プリンタ120に接続されているポート(ポート1)に対応付けられて保存されているキャッシュ情報を読み込む。なお、このとき、キャッシュ情報がユーザにより意図的に削除された場合や、外部記憶装置115の空き容量不足などで一度もキャッシュ情報の生成に成功していない場合等、キャッシュ情報の読み込みに失敗する場合がある。そこで、ランゲージモニタ208は、S702にて、キャッシュ情報の読み込みに成功したか否かを判定する。キャッシュ情報の読み込みに成功した場合には、ランゲージモニタ208は、キャッシュ情報読み込み処理を終了する。一方、キャッシュ情報の読み込みに成功しなかった場合には、ランゲージモニタ208は、S703にて、前述した方法と同様にしてプリンタ120から能力情報を取得する。その後、ランゲージモニタ208は、S704にて、取得した能力情報をキャッシュ情報としてポート1に対応付けて不揮発に保存する。   First, in step S <b> 701, the language monitor 208 reads the cache information stored in association with the port (port 1) connected to the printer 120, which is stored in the capability information acquisition process. At this time, reading of the cache information fails, for example, when the cache information is intentionally deleted by the user, or when generation of the cache information has never been successful due to insufficient free space in the external storage device 115 or the like. There is a case. Therefore, the language monitor 208 determines whether or not the cache information has been successfully read in S702. When the cache information is successfully read, the language monitor 208 ends the cache information reading process. On the other hand, if the cache information has not been successfully read, the language monitor 208 acquires capability information from the printer 120 in the same manner as described above in S703. Thereafter, the language monitor 208 stores the acquired capability information in a nonvolatile manner in association with the port 1 as the cache information in S704.

図8を用いて、ジョブ保持処理を実行するか否かを判断する処理の詳細を説明する。以下の説明において、ランゲージモニタ208が行う処理は、実際には、CPU112が、外部記憶装置115に格納されているランゲージモニタ208に対応するプログラムを実行することにより実現されるものとする。また、以下の説明においては、図8のフローチャートが示す処理は、ジョブをプリンタ120に送信する際に行われるものとする。   Details of the process for determining whether to execute the job holding process will be described with reference to FIG. In the following description, the processing performed by the language monitor 208 is actually realized by the CPU 112 executing a program corresponding to the language monitor 208 stored in the external storage device 115. In the following description, it is assumed that the process shown in the flowchart of FIG. 8 is performed when a job is transmitted to the printer 120.

ランゲージモニタ208は、プリンタ120と双方向通信できない場合、ジョブの状態を監視することができない。そのため、まず、ランゲージモニタ208は、S801にて、プリンタ120と双方向通信できるか否かを判定する。S801の判定は、例えば、ランゲージモニタ208が、プリンタドライバの設定が片方向通信でプリンタ120と通信する設定になっていないか否かを判定することによって行われる。なお、S801の判定は、ランゲージモニタ208が、プリンタ120が接続しているポート(ポート1)が、ランゲージモニタ208がサポートしているポートであるか否かを判定することによって行われても良い。このとき、例えば、ランゲージモニタ208は、ポート1のポート名が、ランゲージモニタ208がサポートしているポートを示す所定の文字列を含むか否かを判定する。また、S801の判定は、ランゲージモニタ208が、期待する全ての情報をプリンタ120から取得できたか否かを判定することによって行われても良い。ランゲージモニタ208が期待する情報には、例えば、プリンタ120が備えるインクの残量情報や、仕向け情報などがある。ランゲージモニタ208は、双方向通信できると判定した場合、S802の処理を行い、双方向通信できないと判定した場合、S804にて、ジョブ保持処理を実行しないと判断する。   The language monitor 208 cannot monitor the job status when it cannot communicate with the printer 120. Therefore, the language monitor 208 first determines whether or not bidirectional communication with the printer 120 is possible in S801. The determination in step S801 is performed, for example, by determining whether the language monitor 208 is set to communicate with the printer 120 using the one-way communication. Note that the determination in S801 may be performed by the language monitor 208 determining whether the port (port 1) to which the printer 120 is connected is a port supported by the language monitor 208. . At this time, for example, the language monitor 208 determines whether or not the port name of the port 1 includes a predetermined character string indicating a port supported by the language monitor 208. The determination in S801 may be performed by determining whether the language monitor 208 has acquired all the expected information from the printer 120. The information expected by the language monitor 208 includes, for example, remaining ink information of the printer 120 and destination information. If the language monitor 208 determines that bidirectional communication is possible, the language monitor 208 performs the process of S802. If the language monitor 208 determines that bidirectional communication is not possible, the language monitor 208 determines that the job holding process is not executed in S804.

受信したジョブをジョブキューにキューイングし、キューイングした順番にジョブを処理するプリンタ(ジョブキューを備えているプリンタ)にジョブを送信する場合にジョブ保持処理が実行されると、ジョブの処理順番の追い越しが発生する可能性がある。このため、ランゲージモニタ208は、プリンタ120がジョブキューを備えている場合には、ジョブ保持処理を実行すべきでない。そこで、ランゲージモニタ208は、S802にて、S50又はS510にて読み込んだプリンタ120の能力情報を参照して、プリンタ120がジョブキューをサポート(ジョブをキューイングできる機能を保持)しているか否かを判定する。ランゲージモニタ208は、プリンタ120がキューを備えていると判定した場合には、S804にて、ジョブ保持処理を実行しないと判断する。一方、ランゲージモニタ208は、プリンタ120がキューを備えていないと判定した場合には、S803にて、ジョブ保持処理を実行すると判断する。なお、このとき、ネットワークトラブル等でプリンタ120から能力情報を取得できない場合や、能力情報にキューを備えているか否かの情報が含まれていない場合等、プリンタ120がキューを備えているか否かを判定できない場合がある。この場合には、ランゲージモニタ208は、S805にて、ジョブ保持処理を実行しないと判断する。 When job holding processing is executed when a job is sent to a printer that queues received jobs to the job queue and the jobs are processed in the queued order (a printer having a job queue), the job processing order There is a possibility that overtaking will occur. Therefore, the language monitor 208 should not execute job holding processing when the printer 120 has a job queue. Therefore, whether the language monitor 208, at S802, by referring to the capability information of the read printer 120 at S50 5 or S5 10, the printer 120 supports the job queue (holding the function of the job can be queued) Determine whether or not. If the language monitor 208 determines that the printer 120 has a queue, the language monitor 208 determines in step S804 that the job holding process is not executed. On the other hand, if the language monitor 208 determines that the printer 120 does not include a queue, the language monitor 208 determines to execute job holding processing in step S803. At this time, whether or not the printer 120 has a queue, such as when the capability information cannot be acquired from the printer 120 due to a network trouble or when the capability information does not include information about whether or not the queue has a queue. May not be determined. In this case, the language monitor 208 determines in step S805 that the job holding process is not executed.

このように、本実施形態では、ランゲージモニタ208は、ジョブの送信先のプリンタがジョブキューを備えているか否かによってジョブ保持処理を実行するか否かを切り替える。さらに、本実施形態では、ランゲージモニタ208は、ジョブの送信先のプリンタがジョブキューを備えているか不明な場合は、ジョブ保持処理を実行しない。このような形態とすることで、ランゲージモニタ208は、ジョブキューを備えているプリンタにジョブを送信する場合にジョブ保持処理を実行した際に生じえる課題を回避することができ、適切な場合にジョブ保持処理を実行できる。なお、S502の処理を実行しない場合は、ジョブ保持処理を実行するか否かを判断する処理は、キャッシュ情報を参照することによって行われても良いし、直前に能力情報の取得処理を行い、取得した能力情報を参照することによって行われても良い。   As described above, in this embodiment, the language monitor 208 switches whether or not to execute the job holding process depending on whether or not the job transmission destination printer has a job queue. Further, in the present embodiment, the language monitor 208 does not execute the job holding process when it is unknown whether the job destination printer has a job queue. By adopting such a form, the language monitor 208 can avoid problems that may occur when job holding processing is executed when sending a job to a printer having a job queue, and when appropriate, Job retention processing can be executed. If the process of S502 is not executed, the process of determining whether to execute the job holding process may be performed by referring to the cache information, or the capability information acquisition process is performed immediately before, It may be performed by referring to the acquired ability information.

図9を用いてジョブの送信の処理及びジョブ保持処理の詳細を説明する。以下の説明において、スプーラ204又はランゲージモニタ208が行う処理は、実際には、CPU112が、外部記憶装置115に格納されているスプーラ204又はランゲージモニタ208に対応するプログラムを実行することにより実現されるものとする。また、以下の説明においては、図9のフローチャートが示す処理は、スプーラ204から、プリンタ120へのジョブの送信の開始の指示を表すコマンドが出力され、ランゲージモニタ208がその出力を受信した際に行われるものとする。なお、その後は、実際の印刷データやメンテナンスコマンドなどのデータがランゲージモニタ208に対して出力されることとなる。また、ランゲージモニタ208は、スプーラ204から指示されるサイズのデータを逐一送信することで、ジョブを分割しながらプリンタ120に送信する。   Details of job transmission processing and job holding processing will be described with reference to FIG. In the following description, the processing performed by the spooler 204 or the language monitor 208 is actually realized by the CPU 112 executing a program corresponding to the spooler 204 or the language monitor 208 stored in the external storage device 115. Shall. In the following description, the process shown in the flowchart of FIG. 9 is performed when a command indicating an instruction to start sending a job to the printer 120 is output from the spooler 204 and the language monitor 208 receives the output. Shall be done. After that, data such as actual print data and maintenance commands are output to the language monitor 208. In addition, the language monitor 208 transmits the data of the size instructed from the spooler 204 to the printer 120 while dividing the job.

まず、ランゲージモニタ208は、S901にて、ジョブをプリンタ120に送信するための最後のデータ送信か否かを判定する。この処理は、ランゲージモニタ208が、スプーラ204から受信する、データ送信を指示するためのコマンドを解析することにより判別することができる。   First, in step S <b> 901, the language monitor 208 determines whether it is the last data transmission for transmitting a job to the printer 120. This process can be determined by analyzing the command received by the language monitor 208 from the spooler 204 to instruct data transmission.

最後のデータ送信でないと判定した場合は、まだジョブ保持処理を実行する必要はないため、ランゲージモニタ208は、S902にて、指示されたサイズのデータをプリンタ120に送信し、再びS901の処理を行う。   If it is determined that it is not the last data transmission, it is not necessary to execute the job holding process yet. Therefore, in S902, the language monitor 208 transmits the instructed size data to the printer 120, and the process of S901 is performed again. Do.

一方、S901〜S902の処理が繰り返されることにより、最後のデータ送信であると判定した場合は、ランゲージモニタ208は、S903にて、ジョブの全てのデータを送信したか否かを判定する。最初にS903の判定を行う場合においては、最後のデータ送信が完了していないので、ランゲージモニタ208は、S904にて、指示されたサイズのデータをプリンタ120に送信する。   On the other hand, when it is determined that the last data transmission is performed by repeating the processing of S901 to S902, the language monitor 208 determines in S903 whether all data of the job has been transmitted. When the determination of S903 is performed first, since the last data transmission has not been completed, the language monitor 208 transmits data of the instructed size to the printer 120 in S904.

その後、ランゲージモニタ208は、S905にて、S506の処理において、ジョブ保持処理を実行すると判断されたか否かを判定する。S506の処理において、ジョブ保持処理を実行すると判断されなかった場合、ランゲージモニタ208は、S910にて、ジョブの送信が完了したことをスプーラ204に通知する。スプーラ204は、ランゲージモニタ208から当該通知を受けることで、対象のジョブを管理外とする。具体的には、スプーラ204は、ジョブキュー205から対象とするジョブそのもの又はジョブの情報を削除/無効化する。一方、S506の処理において、ジョブ保持処理を実行すると判断された場合、ランゲージモニタ208は、S906にて、プリンタ120からジョブの状態の情報を取得する。その後、ランゲージモニタ208は、S907にて、S906にて取得した情報をステータス表示アプリケーションに伝達するべく、S906にて取得した情報を所定の記憶領域に書き込む。なお、ステータス表示アプリケーションは、印刷要求元のアプリケーション201であっても良いし、印刷要求元のアプリケーション201とは別のアプリケーションであっても良いし、UIモジュール203であっても良い。ステータス表示アプリケーションは、S906にて取得した情報を表示することで、出力装置118等に表示し、ユーザにジョブの状態の情報を通知する。   Thereafter, the language monitor 208 determines in step S905 whether or not the job holding process is determined to be executed in the process of step S506. If it is not determined in step S506 to execute the job holding process, the language monitor 208 notifies the spooler 204 that the job transmission is completed in step S910. Upon receiving the notification from the language monitor 208, the spooler 204 removes the target job from management. Specifically, the spooler 204 deletes / invalidates the target job itself or job information from the job queue 205. On the other hand, if it is determined in step S506 that the job holding process is to be executed, the language monitor 208 acquires job status information from the printer 120 in step S906. Thereafter, in S907, the language monitor 208 writes the information acquired in S906 to a predetermined storage area in order to transmit the information acquired in S906 to the status display application. The status display application may be the print request source application 201, an application different from the print request source application 201, or the UI module 203. The status display application displays the information acquired in S906, displays the information on the output device 118, and notifies the user of job status information.

続いて、ランゲージモニタ208は、S908にて、プリンタ120によってジョブの処理が完了したか否かを判定する。この判定は、例えば、プリンタ120から取得される、印刷中のデータのページ番号を示すステータスを取得することによって行われる。このステータスは、印刷を行っていない間は値を持たない(例えば零)ため、それによりジョブの処理が完了したか否かを判定することができる。ジョブの処理が完了していないと判定した場合、ランゲージモニタ208は、S909にて、ジョブの送信が完了していないことをスプーラ204に通知する。この処理は、例えば、ランゲージモニタ208がデータ送信を指示するためのコマンドに対する戻り値として、指定されたサイズ未満のバイトの値をスプーラ204に対して返すことで行われる。通常、ランゲージモニタ208は、戻り値としてプリンタ120へ送信した正確なバイト数を返す。このようにすることで、スプーラ204は、ジョブの送信が正しく行われたことを認識することができる。しかし、ここでは、ランゲージモニタ208は、戻り値として、指定されたサイズ未満のバイトの値をスプーラ204に対して返すことで、スプーラ204にジョブの送信が正しく行われなかったと認識させる。スプーラ204は、データの送信が完了していないと認識しているため、未出力バイトのデータの送信指示を再び出力してくる。しかし、ランゲージモニタ208は、既に全データを送信済みであるため、(S903でYes)、実際のプリンタ120へのデータ送信は行わず、再びジョブの状態を取得する(S906)ことができる。このような形態とすることで、ランゲージモニタ208は、ジョブ保持処理を実行している間は、ユーザにジョブの状態の情報を通知することができる。   Subsequently, the language monitor 208 determines in step S908 whether the printer 120 has completed the job processing. This determination is performed, for example, by acquiring a status indicating the page number of data being printed, acquired from the printer 120. Since this status does not have a value (for example, zero) while printing is not being performed, it can be determined whether or not job processing has been completed. If it is determined that the job processing has not been completed, the language monitor 208 notifies the spooler 204 that the job transmission has not been completed in S909. This process is performed by, for example, returning a byte value less than the specified size to the spooler 204 as a return value for the command for the language monitor 208 to instruct data transmission. Usually, the language monitor 208 returns the exact number of bytes transmitted to the printer 120 as a return value. In this way, the spooler 204 can recognize that the job has been transmitted correctly. However, here, the language monitor 208 returns a value of bytes less than the specified size to the spooler 204 as a return value, thereby causing the spooler 204 to recognize that the job has not been transmitted correctly. Since the spooler 204 recognizes that the data transmission has not been completed, the spooler 204 outputs the data transmission instruction for the unoutput bytes again. However, since all the data has already been transmitted (Yes in S903), the language monitor 208 can acquire the job status again without performing the actual data transmission to the printer 120 (S906). With this configuration, the language monitor 208 can notify the user of job status information while the job holding process is being executed.

ランゲージモニタ208は、S901乃至S907の処理を繰り返し、プリンタ120がジョブの処理を完了したことに応じて(S908でYES)、ジョブの送信が完了したことをスプーラ204に通知する。具体的には、ランゲージモニタ208は、スプーラ204への戻り値として、正確な値を返信する。このような形態とすることで、スプーラ204が管理しているジョブの送信の完了時間と、プリンタ120による実際のジョブの処理の完了時間をほぼ一致させることができ、ユーザにジョブの処理の完了時間を通知することができる。 The language monitor 208, S901 to repeat the processing of S 907, (YES at S908) the printer 120 in response to the completion of the processing of the job is notified that the transmission of the job is completed to the spooler 204. Specifically, the language monitor 208 returns an accurate value as a return value to the spooler 204. By adopting such a form, the job transmission completion time managed by the spooler 204 and the actual job processing completion time by the printer 120 can be substantially matched, and the user can complete the job processing. Time can be notified.

以上で説明したように、本実施形態では、送信先のプリンタがジョブキューを備えているか否かに応じて、ジョブ保持処理を実行するか否かを切り替える。このような形態とすることで、PC110は、適切な場合にジョブ保持処理を実行することができ、ユーザの利便性を向上させることができる。   As described above, in the present embodiment, whether to execute the job holding process is switched depending on whether the destination printer has a job queue. By adopting such a configuration, the PC 110 can execute job holding processing when appropriate, and can improve user convenience.

<その他の実施形態>
上述の実施形態では、図2に示されるような、PC110にインストールされる各ソフトウェアモジュールが協働した形態を説明してきたが、これを応用した形態も想定される。例えば、ランゲージモニタ208が別のPCにインストールされている形態であっても良い。この場合には、ランゲージモニタ208とスプーラ204とがプロセス間通信を行うことにより、上述の実施形態と同様の効果を得ることが出来る。
<Other embodiments>
In the above-described embodiment, the form in which the software modules installed in the PC 110 cooperate as shown in FIG. 2 has been described, but a form in which this is applied is also assumed. For example, the language monitor 208 may be installed in another PC. In this case, the language monitor 208 and the spooler 204 perform inter-process communication, so that the same effect as in the above embodiment can be obtained.

上述の実施形態では、ランゲージモニタ208や、スプーラ204の各々のソフトウェアモジュールを別々に示したが、例えば、1プロセスで実行される1ソフトウェアモジュールによっても、上述の実施形態と同様の効果を得ることが出来る。   In the above-described embodiment, the software modules of the language monitor 208 and the spooler 204 are shown separately. However, for example, the same effect as in the above-described embodiment can be obtained by one software module executed in one process. I can do it.

上述の実施形態では、Version3プリンタドライバを用いた形態を説明した。なお、近年、Windows(登録商標)8では、Version4プリンタドライバと呼ばれる、Version3プリンタドライバと異なるプリンタドライバ構成が採用された。新しいプリンタドライバを構成するモジュール群はランゲージモニタが含まれていない。そこで、Version4プリンタドライバにおいては、フィルタと呼ばれる構成によってランゲージモニタと同様の機能を実現しても良い。   In the above-described embodiment, the mode using the Version 3 printer driver has been described. In recent years, Windows (registered trademark) 8 has adopted a printer driver configuration called a Version 4 printer driver, which is different from the Version 3 printer driver. Language modules are not included in the modules that make up the new printer driver. Therefore, in the Version 4 printer driver, the same function as the language monitor may be realized by a configuration called a filter.

上述の実施形態のジョブ保持処理を実行するか否かの判断において、送信するジョブの種類を参照しても良い。例えば、プリンタ120の電源のON又はOFFを指示する電源制御処理、動作音モード等のプリンタ120の動作モード設定処理等をプリンタ120に実行させるためのメンテナンスジョブを送信する場合は、ジョブ保持処理を実行しないように判断しても良い。   In determining whether or not to execute the job holding process according to the above-described embodiment, the type of job to be transmitted may be referred to. For example, when transmitting a maintenance job for causing the printer 120 to execute power supply control processing for instructing power ON / OFF of the printer 120, operation mode setting processing of the printer 120 such as an operation sound mode, job holding processing is performed. You may judge not to perform.

上述の実施形態の効果を実現できれば、上述の実施形態のフローチャートの処理の順番を入れ替えても良いし、その全ての処理を実行しなくても良いし、処理の内容を変更しても良い。例えば、ランゲージモニタ208は、S506の処理を実行せず、S905の処理においてS506と同様の処理を実行してもいい。   As long as the effects of the above-described embodiment can be realized, the processing order of the flowcharts of the above-described embodiment may be changed, all of the processing may not be executed, or the processing content may be changed. For example, the language monitor 208 may execute the same process as S506 in the process of S905 without executing the process of S506.

上述の実施形態は、上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを実行する処理でも実現可能である。また、上述の実施形態は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。   The above-described embodiment supplies a program that realizes one or more functions of the above-described embodiment to a system or apparatus via a network or a storage medium, and one or more processors in the computer of the system or apparatus execute the program This process can be realized. The above-described embodiments can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

110 PC
120 プリンタ
204 スプーラ
208 ランゲージモニタ
110 PC
120 Printer 204 Spooler 208 Language Monitor

Claims (14)

外部装置と接続する情報処理装置のコンピュータに、
前記外部装置がジョブの処理順番を管理可能なジョブキューを備えているか否かを示す情報を含む能力情報を前記外部装置から取得する取得ステップと、
ジョブの送信指示を受け付ける受け付けステップと、
前記受け付けステップの前に実行された前記取得ステップにより前記外部装置から取得された前記能力情報をキャッシュ情報として保存する保存ステップと、
前記ジョブを管理し、管理している前記ジョブの送信が完了したか否かを認識する管理機能を有するスプーラが管理する前記ジョブを、前記受け付けステップの後に前記外部装置に送信する送信ステップと、
前記送信ステップにて送信した前記ジョブの処理が前記外部装置によって完了していない場合に、前記外部装置への前記ジョブの送信が完了したにもかかわらず前記スプーラに前記ジョブの送信が完了していないと認識させるジョブ保持処理を実行する処理ステップ
と、を実行させるためのプログラムであって、
新たに前記外部装置が接続したことを前記プログラムが検知できない第1接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられた場合、前記受け付けステップの後にも前記取得ステップを実行し、
前記第1接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、且つ前記受け付けステップの後に実行された前記取得ステップにて取得された前記能力情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれる場合は、前記ジョブ保持処理を実行せず、
前記第1接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、且つ前記受け付けステップの後に実行された前記取得ステップにて取得された前記能力情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれない場合は、前記ジョブ保持処理を実行し、
新たに前記外部装置が接続したことを前記プログラムが検知できる第2接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられた場合、前記受け付けステップの後には前記取得ステップを実行せず、
前記第2接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、且つ前記キャッシュ情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれる場合は、前記ジョブ保持処理を実行せず、前記第2接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、且つ前記キャッシュ情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれない場合は、前記ジョブ保持処理を実行することを特徴とするプログラム。
In the computer of the information processing device connected to the external device,
An acquisition step of acquiring from the external device capability information including information indicating whether or not the external device has a job queue capable of managing the job processing order;
A reception step for receiving a job transmission instruction;
A storing step of storing the capability information acquired from the external device by the acquiring step executed before the receiving step as cache information;
Transmitting the job managed by a spooler having a management function for recognizing whether or not transmission of the managed job is completed, and transmitting the job to the external device after the receiving step;
When the processing of the job transmitted in the transmission step is not completed by the external device, the transmission of the job to the spooler is completed despite the completion of the transmission of the job to the external device. A processing step for executing a job holding process to be recognized as a program,
An instruction to send the job to the external apparatus connected to the information processing apparatus via the first connection method in which the program cannot detect that the external apparatus is newly connected has been received in the receiving step. In the case, the acquisition step is executed even after the reception step,
In the acquisition step, an instruction to transmit the job to the external device connected to the information processing apparatus via the first connection method is received in the reception step, and executed after the reception step. If the acquired capability information includes information indicating that the external device includes the job queue, the job holding process is not executed,
In the acquisition step, an instruction to transmit the job to the external device connected to the information processing apparatus via the first connection method is received in the reception step, and executed after the reception step. If the acquired capability information does not include information indicating that the external device includes the job queue, the job holding process is executed,
An instruction to send the job to the external apparatus connected to the information processing apparatus via the second connection method that allows the program to detect that the external apparatus is newly connected has been received in the receiving step. In this case, the acquisition step is not performed after the reception step,
An instruction to transmit the job to the external apparatus connected to the information processing apparatus via the second connection method is accepted in the accepting step, and the external apparatus includes the job queue in the cache information. The job holding process is not executed, and the job transmission instruction to the external device connected to the information processing apparatus via the second connection method is not included in the job holding process. The program, which is received in the receiving step and executes the job holding process when the cache information does not include information indicating that the external device includes the job queue.
前記第1接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、且つ前記キャッシュ情報に対応する能力情報の提供元の前記外部装置と前記第1接続方式を介して前記情報処理装置が接続している前記外部装置とが異なる場合、前記受け付けステップの後にも前記取得ステップを実行し、
前記第1接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、且つ前記キャッシュ情報に対応する能力情報の提供元の前記外部装置と前記第1接続方式を介して前記情報処理装置が接続している前記外部装置とが異ならない場合、前記受け付けステップの後には前記取得ステップを実行しないことを特徴とする請求項1に記載のプログラム。
The transmission instruction of the job to the external device connected to the information processing apparatus via the first connection method is received in the reception step, and the capability information provider corresponding to the cache information If the external device is different from the external device to which the information processing device is connected via the first connection method, the acquisition step is executed after the receiving step,
The transmission instruction of the job to the external device connected to the information processing apparatus via the first connection method is received in the reception step, and the capability information provider corresponding to the cache information The acquisition step is not executed after the accepting step when the external device is not different from the external device to which the information processing apparatus is connected via the first connection method. The program described.
前記第1接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、前記キャッシュ情報に対応する能力情報の提供元の前記外部装置と前記第1接続方式を介して前記情報処理装置が接続している前記外部装置とが異ならず、且つ前記キャッシュ情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれる場合は、前記ジョブ保持処理を実行せず、
前記第1接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、前記キャッシュ情報に対応する能力情報の提供元の前記外部装置と前記第1接続方式を介して前記情報処理装置が接続している前記外部装置とが異ならず、且つ前記キャッシュ情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれない場合は、前記ジョブ保持処理を実行することを特徴とする請求項2に記載のプログラム。
An instruction to send the job to the external apparatus connected to the information processing apparatus via the first connection method is accepted in the accepting step, and the external of the provider of capability information corresponding to the cache information Information indicating that the external device includes the job queue is not included in the cache information and the external device to which the information processing device is connected via the first connection method is not different. The job holding process is not executed,
An instruction to send the job to the external apparatus connected to the information processing apparatus via the first connection method is accepted in the accepting step, and the external of the provider of capability information corresponding to the cache information The cache information includes information indicating that the external device is not different from the external device connected to the information processing device via the first connection method, and the cache information includes the job queue. 3. The program according to claim 2, wherein when there is no job, the job holding process is executed.
オプションの着脱によって能力が変化する可能性がある前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられた場合、前記受け付けステップの後にも前記取得ステップを実行することを特徴とする請求項1乃至請求項3のいずれか一項に記載のプログラム。   The acquisition step is executed after the reception step when an instruction to transmit the job to the external apparatus whose capability may change due to attachment / detachment of an option is received in the reception step. The program according to any one of claims 1 to 3. 前記オプションの着脱によって能力が変化する可能性がある前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、且つ前記受け付けステップの後に実行された前記取得ステップにて取得された前記能力情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれる場合は、前記ジョブ保持処理を実行せず、
前記オプションの着脱によって能力が変化する可能性がある前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、且つ前記受け付けステップの後に実行された前記取得ステップにて取得された前記能力情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれない場合は、前記ジョブ保持処理を実行することを特徴とする請求項4に記載のプログラム。
The transmission instruction of the job to the external device whose capability may change due to the attachment / detachment of the option is received in the reception step, and acquired in the acquisition step executed after the reception step When the capability information includes information indicating that the external device includes the job queue, the job holding process is not executed,
The transmission instruction of the job to the external device whose capability may change due to the attachment / detachment of the option is received in the reception step, and acquired in the acquisition step executed after the reception step 5. The program according to claim 4, wherein if the capability information does not include information indicating that the external apparatus includes the job queue, the job holding process is executed.
前記情報処理装置との双方向通信ができない前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられた場合、前記ジョブ保持処理を実行しないことを特徴とする請求項1乃至請求項5のいずれか一項に記載のプログラム。   The job holding process is not executed when an instruction to transmit the job to the external apparatus that cannot perform bidirectional communication with the information processing apparatus is received in the receiving step. 6. The program according to any one of 5. 前記第1接続方式は、ネットワークを介して前記外部装置と接続する接続方式であることを特徴とする請求項1乃至請求項6のいずれか一項に記載のプログラム。   The program according to any one of claims 1 to 6, wherein the first connection method is a connection method for connecting to the external device via a network. 前記第2接続方式は、USBを介して前記外部装置と接続する接続方式であることを特徴とする請求項1乃至請求項7のいずれか一項に記載のプログラム。   The program according to any one of claims 1 to 7, wherein the second connection method is a connection method for connecting to the external device via a USB. 前記ジョブは、前記外部装置の備える記録剤によって、前記外部装置の備える記録媒体上に画像を印刷する印刷処理を、前記外部装置に実行させるための印刷ジョブであることを特徴とする請求項1乃至請求項8のいずれか一項に記載のプログラム。   2. The print job for causing the external apparatus to execute a print process for printing an image on a recording medium included in the external apparatus using a recording agent included in the external apparatus. The program as described in any one of thru | or 8 thru | or 8. 前記プログラムは、プリンタドライバであることを特徴とする請求項1乃至9のいずれか1項に記載のプログラム。   The program according to claim 1, wherein the program is a printer driver. 前記プログラムは、ランゲージモニタであることを特徴とする請求項1乃至10のいずれか1項に記載のプログラム。   The program according to any one of claims 1 to 10, wherein the program is a language monitor. 外部装置と接続し、所定のプログラムを有する情報処理装置であって、
前記外部装置がジョブの処理順番を管理可能なジョブキューを備えているか否かを示す情報を含む能力情報を前記外部装置から取得する取得手段と、
ジョブの送信指示を受け付ける受け付け手段と、
前記受け付け手段により前記ジョブの送信指示が受け付けられる前に前記取得手段により前記外部装置から取得された前記能力情報をキャッシュ情報として保存する保存手段と、
前記ジョブを管理し、管理している前記ジョブの送信が完了したか否かを認識する管理機能を有するスプーラが管理する前記ジョブを、前記受け付け手段により前記ジョブの送信指示が受け付けられた後に前記外部装置に送信する送信手段と、
前記送信手段が送信した前記ジョブの処理が前記外部装置によって完了していない場合に、前記外部装置への前記ジョブの送信が完了したにもかかわらず前記スプーラに前記ジョブの送信が完了していないと認識させるジョブ保持処理を実行する処理手段と、を有し、
新たに前記外部装置が接続したことを前記所定のプログラムが検知できない第1接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付け手段によって受け付けられた場合、前記ジョブの送信指示が前記受け付け手段によって受け付けられた後にも前記取得手段によって前記能力情報を取得し、
前記第1接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付け手段によって受け付けられ、且つ前記ジョブの送信指示が前記受け付け手段によって受け付けられた後に前記取得手段によって取得された前記能力情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれる場合は、前記ジョブ保持処理を実行せず、前記第1接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付け手段によって受け付けられ、且つ前記ジョブの送信指示が前記受け付け手段によって受け付けられた後に前記取得手段によって取得された前記能力情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれない場合は、前記ジョブ保持処理を実行し、
新たに前記外部装置が接続したことを前記所定のプログラムが検知できる第2接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付け手段によって受け付けられた場合、前記ジョブの送信指示が前記受け付け手段によって受け付けられた後には前記取得手段によって前記能力情報を取得せず、
前記第2接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付け手段によって受け付けられ、且つ前記キャッシュ情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれる場合は、前記ジョブ保持処理を実行せず、前記第2接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付け手段によって受け付けられ、且つ前記キャッシュ情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれない場合は、前記ジョブ保持処理を実行することを特徴とする情報処理装置。
An information processing apparatus connected to an external device and having a predetermined program ,
Acquisition means for acquiring from the external device capability information including information indicating whether or not the external device has a job queue capable of managing the job processing order;
Receiving means for receiving a job transmission instruction;
Storage means for storing the capability information acquired from the external device by the acquisition means as cache information before the transmission instruction of the job is received by the reception means;
The job managed by the spooler having a management function for recognizing whether or not the transmission of the managed job is completed is managed after the job transmission instruction is received by the receiving unit. A transmission means for transmitting to an external device;
When the processing of the job transmitted by the transmission unit is not completed by the external device, transmission of the job to the spooler is not completed even though transmission of the job to the external device is completed Processing means for executing job holding processing to be recognized as,
An instruction to transmit the job to the external apparatus connected to the information processing apparatus via the first connection method in which the predetermined program cannot detect that the external apparatus is newly connected is received by the receiving unit. When the job transmission instruction is received by the receiving unit, the capability information is acquired by the acquiring unit,
After an instruction to send the job to the external apparatus connected to the information processing apparatus via the first connection method is accepted by the accepting means, and an instruction to send the job is accepted by the accepting means When the capability information acquired by the acquisition unit includes information indicating that the external device includes the job queue, the job holding process is not executed, and the first connection method is used to execute the job holding process. The capability acquired by the acquisition unit after an instruction to transmit the job to the external device to which the information processing apparatus is connected is received by the reception unit, and the transmission instruction of the job is received by the reception unit If the information does not include information indicating that the external device has the job queue, Run the job holding process,
An instruction to transmit the job to the external device connected to the information processing apparatus is received by the receiving unit via the second connection method in which the predetermined program can detect that the external apparatus is newly connected. If the transmission instruction of the job is received by the receiving unit, the capability information is not acquired by the acquiring unit,
An instruction to transmit the job to the external apparatus connected to the information processing apparatus via the second connection method is received by the receiving unit, and the external apparatus includes the job queue in the cache information. The job holding process is not executed, and the job transmission instruction to the external device connected to the information processing device via the second connection method is not accepted. An information processing apparatus that executes the job holding process when the cache information does not include information indicating that the external apparatus includes the job queue.
前記ジョブは、前記外部装置の備える記録剤によって、前記外部装置の備える記録媒体上に画像を印刷する印刷処理を、前記外部装置に実行させるための印刷ジョブであることを特徴とする請求項12に記載の情報処理装置。   13. The print job for causing the external apparatus to execute a print process for printing an image on a recording medium included in the external apparatus using a recording agent included in the external apparatus. The information processing apparatus described in 1. 外部装置と接続し、所定のプログラムを有する情報処理装置において実行される制御方法であって、
前記外部装置がジョブの処理順番を管理可能なジョブキューを備えているか否かを示す情報を含む能力情報を前記外部装置から取得する取得ステップと、
ジョブの送信指示を受け付ける受け付けステップと、
前記受け付けステップの前に実行された前記取得ステップにより前記外部装置から取得された前記能力情報をキャッシュ情報として保存する保存ステップと、
前記ジョブを管理し、管理している前記ジョブの送信が完了したか否かを認識する管理機能を有するスプーラが管理する前記ジョブを、前記受け付けステップの後に前記外部装置に送信する送信ステップと、
前記送信ステップにて送信した前記ジョブの処理が前記外部装置によって完了していない場合に、前記外部装置への前記ジョブの送信が完了したにもかかわらず前記スプーラに前記ジョブの送信が完了していないと認識させるジョブ保持処理を実行する処理ステップと、を有し、
新たに前記外部装置が接続したことを前記所定のプログラムが検知できない第1接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられた場合、前記受け付けステップの後にも前記取得ステップを実行し、
前記第1接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、且つ前記受け付けステップの後に実行された前記取得ステップにて取得された前記能力情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれる場合は、前記ジョブ保持処理を実行せず、
前記第1接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、且つ前記受け付けステップの後に実行された前記取得ステップにて取得された前記能力情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれない場合は、前記ジョブ保持処理を実行し、
新たに前記外部装置が接続したことを前記所定のプログラムが検知できる第2接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられた場合、前記受け付けステップの後には前記取得ステップを実行せず、
前記第2接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、且つ前記キャッシュ情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれる場合は、前記ジョブ保持処理を実行せず、
前記第2接続方式を介して前記情報処理装置が接続している前記外部装置への前記ジョブの送信指示が前記受け付けステップにて受け付けられ、且つ前記キャッシュ情報に前記外部装置が前記ジョブキューを備えていることを示す情報が含まれない場合は、前記ジョブ保持処理を実行することを特徴とする制御方法。
A control method connected to an external device and executed in an information processing apparatus having a predetermined program ,
An acquisition step of acquiring from the external device capability information including information indicating whether or not the external device has a job queue capable of managing the job processing order;
A reception step for receiving a job transmission instruction;
A storing step of storing the capability information acquired from the external device by the acquiring step executed before the receiving step as cache information;
Transmitting the job managed by a spooler having a management function for recognizing whether or not transmission of the managed job is completed, and transmitting the job to the external device after the receiving step;
When the processing of the job transmitted in the transmission step is not completed by the external device, the transmission of the job to the spooler is completed despite the completion of the transmission of the job to the external device. And a processing step for executing a job holding process to be recognized as
An instruction to transmit the job to the external apparatus connected to the information processing apparatus via the first connection method in which the predetermined program cannot detect that the external apparatus is newly connected is received in the reception step. If so, the acquisition step is executed after the reception step,
In the acquisition step, an instruction to transmit the job to the external device connected to the information processing apparatus via the first connection method is received in the reception step, and executed after the reception step. If the acquired capability information includes information indicating that the external device includes the job queue, the job holding process is not executed,
In the acquisition step, an instruction to transmit the job to the external device connected to the information processing apparatus via the first connection method is received in the reception step, and executed after the reception step. If the acquired capability information does not include information indicating that the external device includes the job queue, the job holding process is executed,
An instruction to transmit the job to the external apparatus connected to the information processing apparatus via the second connection method that allows the predetermined program to detect that the external apparatus is newly connected is received in the reception step. If it is, do not execute the acquisition step after the acceptance step,
An instruction to transmit the job to the external apparatus connected to the information processing apparatus via the second connection method is accepted in the accepting step, and the external apparatus includes the job queue in the cache information. If the job information is included, the job holding process is not executed,
An instruction to transmit the job to the external apparatus connected to the information processing apparatus via the second connection method is accepted in the accepting step, and the external apparatus includes the job queue in the cache information. When the information indicating that the job is stored is not included, the job holding process is executed.
JP2015110386A 2015-05-29 2015-05-29 Information processing apparatus, control method, and program Active JP6608175B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015110386A JP6608175B2 (en) 2015-05-29 2015-05-29 Information processing apparatus, control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015110386A JP6608175B2 (en) 2015-05-29 2015-05-29 Information processing apparatus, control method, and program

Publications (3)

Publication Number Publication Date
JP2016224704A JP2016224704A (en) 2016-12-28
JP2016224704A5 JP2016224704A5 (en) 2018-07-05
JP6608175B2 true JP6608175B2 (en) 2019-11-20

Family

ID=57748288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015110386A Active JP6608175B2 (en) 2015-05-29 2015-05-29 Information processing apparatus, control method, and program

Country Status (1)

Country Link
JP (1) JP6608175B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4659531B2 (en) * 2005-06-28 2011-03-30 キヤノン株式会社 Job status monitoring system, job status monitoring method, program, and storage medium
JP5679740B2 (en) * 2010-08-26 2015-03-04 キヤノン株式会社 Peripheral device control system, peripheral device, information processing device, and control method

Also Published As

Publication number Publication date
JP2016224704A (en) 2016-12-28

Similar Documents

Publication Publication Date Title
US8773691B2 (en) Printing control apparatus, printing control method, and storage medium
JP7355147B2 (en) application program
US8823990B2 (en) Print job distribution within a printing system
US9569147B2 (en) Image forming apparatus, image processing system, and method
JP2022141656A (en) Server system, printing device, control method, and communication system
JP2023053961A (en) System and control method
JP6371697B2 (en) Information processing apparatus, print control method, and program
JP5926514B2 (en) Print control apparatus, print control method, and program
JP2013073369A (en) Print control system, print control method, image processor and print control program
JP2017204139A (en) Update application and update method
JP2012155401A (en) Printing system, printing device, control method of printing system, control method of printing device, and program
JP6602053B2 (en) Information processing apparatus, control method, and program
US10277765B2 (en) Information processing device, control method, and program
JP6608175B2 (en) Information processing apparatus, control method, and program
US11403048B2 (en) Print control device, print control method, and non-transitory computer-readable storage medium storing print control program which converts and generates second printing data based on custom setting value
JP2019174999A (en) Printing system, printing method, image forming apparatus, its control method, and program
US9158489B1 (en) Buffering a print instruction before its transferred to a printing apparatus
JP7439973B2 (en) Program sets, programs, and information processing equipment
US10691382B2 (en) Information processing device, method of controlling information processing device, and non-transitory computer-readable recording medium containing instructions realizing printer driver
JP2016018226A (en) User terminal, image forming apparatus, server device, printing system, user terminal control method, image forming apparatus control method, server device control method, and program
JP2022109423A (en) Support program
JP2013196259A (en) Data processor, data processing system and program
JP2014108545A (en) Printer, control method of printer and program
JP2006173905A (en) Job management device, job management system, job management method, and control program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180517

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180521

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181211

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190514

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190712

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190924

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191023

R151 Written notification of patent or utility model registration

Ref document number: 6608175

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151