JP2015118413A - Information processor, control method of information processor, and program thereof - Google Patents
Information processor, control method of information processor, and program thereof Download PDFInfo
- Publication number
- JP2015118413A JP2015118413A JP2013259636A JP2013259636A JP2015118413A JP 2015118413 A JP2015118413 A JP 2015118413A JP 2013259636 A JP2013259636 A JP 2013259636A JP 2013259636 A JP2013259636 A JP 2013259636A JP 2015118413 A JP2015118413 A JP 2015118413A
- Authority
- JP
- Japan
- Prior art keywords
- printer
- inquiry
- interval
- printing
- status
- 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.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
Description
本発明は、情報処理装置、情報処理装置の制御方法およびそのプログラムに関する。 The present invention relates to an information processing apparatus, a control method for the information processing apparatus, and a program thereof.
従来、画像形成装置(プリンタ)のステータスは、プリンタに付属するパネルで確認する。プリンタが近くにない場合などプリンタのパネルで確認できない場合、PCホスト上で確認するための手段として、ステータス通知アプリケーションが提供される。一般に、ステータス通知アプリケーションは、一定間隔でステータスポーリングを行い、ステータスを表示する。 Conventionally, the status of an image forming apparatus (printer) is confirmed on a panel attached to the printer. A status notification application is provided as a means for confirming on the PC host when the printer panel cannot be confirmed, such as when the printer is not nearby. In general, the status notification application performs status polling at regular intervals and displays the status.
様々なオフィス環境において、アプリケーションソフトやデータをすべてサーバー上に集約できるといった利点から、例えば、マイクロソフト社のWindows(登録商標)が提供するリモートデスクトップサービスが幅広く使われている。ユーザは、ターミナルサービスのクライアントソフトウェアを実行するクライアントPCからサーバーに接続して、サーバー側のリソースを使用してアプリケーションを実行することができる。 In various office environments, for example, remote desktop services provided by Microsoft Windows (registered trademark) are widely used because of the advantage that all application software and data can be collected on a server. A user can connect to a server from a client PC that executes terminal service client software and execute an application using resources on the server side.
また、サーバーは、複数のプリンタがインストールされ、プリントサーバーとして使用される。この場合、ステータス通知アプリケーションは、プリンタドライバ数分存在し、それぞれがデバイスに対してステータスポーリングを行う。リモートデスクトップサービスでは、サーバーとクライアント双方に同一のプリンタドライバがインストールされている場合がある。この場合、クライアントPCのローカルにインストールされているプリンタが、ターミナル接続時に自動的にターミナル環境に作成され、ローカルのプリンタに印刷できるようになる機能がある(リダイレクトプリンタ)。 The server is used as a print server with a plurality of printers installed. In this case, there are as many status notification applications as there are printer drivers, and each status polls the device. In the remote desktop service, the same printer driver may be installed on both the server and the client. In this case, a printer installed locally on the client PC is automatically created in the terminal environment when the terminal is connected, and has a function that enables printing to the local printer (redirect printer).
ステータス通知アプリケーションのステータスポーリングは、プリンタの数が増加すると、CPUへの負荷が大きくなる。特に、前述のリダイレクトプリンタは、1クライアント当たりの数が少なくても、ログインするクライアントが多い場合、サーバーPCではサーバーローカルのプリンタに加え、多数のリダイレクトプリンタ分のステータス通知アプリケーションが動作する。これにより、CPUへの負荷が非常に高くなり、ステータス通知アプリケーションのみならずサーバーPCの動作に影響を及ぼす恐れがある。 The status polling of the status notification application increases the load on the CPU as the number of printers increases. In particular, even if the number of redirect printers described above is small per client but there are many clients logging in, the server PC operates status notification applications for a number of redirect printers in addition to the server local printer. As a result, the load on the CPU becomes very high, which may affect not only the status notification application but also the operation of the server PC.
そこで、特許文献1は、ステータスポーリングの負荷を減らすため、ポーリングを行う間隔を変化させる技術を開示している。特許文献1は、ステータスが変動しない回数をカウントし、所定のカウント毎にステータス取得時間を延長する技術を開示している。
Therefore,
しかしながら、特許文献1に開示されている技術は、前述のようにリモートデスクトップ環境で多数のリダイレクトプリンタが生成され、それらのステータスに変動があった場合、サーバーPCのCPU負荷の増加を避けることができない。
However, the technique disclosed in
本発明は、上記課題を鑑みて、リモートデスクトップ環境でサーバー上に多数のリダイレクトプリンタが生成され、多数のステータス通知アプリケーションが動作する場合、サーバーマシンへの負荷を軽減する情報処理装置を提供することを目的とする。 In view of the above problems, the present invention provides an information processing apparatus that reduces a load on a server machine when a large number of redirect printers are generated on a server in a remote desktop environment and a large number of status notification applications operate. With the goal.
上記課題を解決するために、本発明の情報処理装置は、ネットワークで接続された第1印刷装置と、クライアント装置を介して接続されたリダイレクトプリンタとして管理される第2印刷装置と、を監視する情報処理装置であって、前記第1および第2印刷装置に対して、問合せを行う問合せ手段と、前記問合せを行う間隔を制御する制御手段と、を有し、前記制御手段は、ポート情報に基づいて接続された印刷装置が前記リダイレクトプリンタであるとの特定を行い、該特定により、前記リダイレクトプリンタとして管理される第2印刷装置に対する問合せの間隔を、前記第1印刷装置の問合せの間隔よりも相対的に長くすることを特徴とする。 In order to solve the above problem, an information processing apparatus of the present invention monitors a first printing apparatus connected via a network and a second printing apparatus managed as a redirect printer connected via a client apparatus. An information processing apparatus, comprising: inquiry means for making an inquiry to the first and second printing apparatuses; and control means for controlling an interval for making the inquiry, wherein the control means includes port information. Based on the identification, the inquiry interval for the second printing device managed as the redirect printer is determined from the inquiry interval of the first printing device. Is also relatively long.
本発明によれば、リモートデスクトップ環境でサーバー上に多数のリダイレクトプリンタが生成され、多数のステータス通知アプリケーションが動作する場合でも、サーバーマシンへの負荷を軽減する情報処理装置を提供することができる。 According to the present invention, it is possible to provide an information processing apparatus that reduces the load on a server machine even when a large number of redirect printers are generated on a server in a remote desktop environment and a large number of status notification applications operate.
以下、本発明を実施するための形態について図面などを参照して説明する。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
図1は、本実施形態に係るシステム全体の構成を示す概念図である。図1において、サーバーマシン(情報処理装置)100は、クライアントマシン(クライアント装置)101、102および不図示の複数のクライアントマシンと、リモートデスクトップサービスを利用して接続される。本実施形態では、サーバーマシン100に、プリンタ103および不図示の複数のプリンタドライバがインストールされているとする。クライアントマシン101、102には、それぞれプリンタ104、105がインストールされ、また、プリンタ103のプリンタドライバもインストールされている。なお、本実施形態では、クライアントマシン101、102に物理的にプリンタ103が接続されているか否かは問わない。
FIG. 1 is a conceptual diagram showing the configuration of the entire system according to this embodiment. In FIG. 1, a server machine (information processing apparatus) 100 is connected to client machines (client apparatuses) 101 and 102 and a plurality of client machines (not shown) using a remote desktop service. In the present embodiment, it is assumed that the
図2は、本実施形態に係るサーバーマシン100のハードウェア構成を示す図である。CPU201は、システム全体を制御するプロセッサである。RAM202は、CPU201が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリとして使用される。NVMEM203は、不揮発性メモリであり、設定情報等を記録する。ROM204は、書き換え不可能な不揮発性メモリであり、各種プログラムが記録される。HDD205は、データ記憶領域である。
FIG. 2 is a diagram illustrating a hardware configuration of the
USBインターフェース208は、USBデバイスに接続するための機能ユニットで、USBを介して他のデバイスのステータス情報を取得し、およびステータス情報を返信するために使用される。LANインターフェース207は、LANに接続するための機能ユニットで、LANを介して他のデバイスのステータス情報を取得し、およびステータス情報を返信するために使用される。以上のデバイスがシステムバス206上に配置される。
The
図3は、プリンタ103のコントローラユニットのハードウェア構成を示す。コントローラユニット313は、画像出力デバイスとして機能するプリンタエンジン部311と接続することで、画像データやデバイス情報の入出力を行う。CPU301は、システム全体を制御するプロセッサである。RAM303は、CPU301が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもあってよい。NVMEM304は、不揮発性のメモリであり、設定情報等を記録する。
FIG. 3 shows a hardware configuration of the controller unit of the
操作部316は、デバイスを操作するためのキーとデバイスの状態を示す表示部を保持する。操作部I/F315は、操作部316とのインターフェース部で、操作部316の保持する表示部の制御情報を送信する。また、操作部316からユーザが入力した情報をCPU301に伝える役割をする。FLASHROM302は、書き換え可能な不揮発性メモリであり、システムを制御するための各種制御プログラムが記録される。USBインターフェース306は、外部装置とのUSB接続を可能にする。LANインターフェース314は、外部装置とのLAN接続を可能にする。以上のデバイスがシステムバス305上に配置される。
The
イメージバス307は、システムバス305と、画像データを高速で転送する画像バス312とを接続し、データ構造を変換するバスブリッジである。画像バス312は、例えば、PCIバスまたはIEEE1394で構成される。画像バス312上には以下のデバイスが配置される。ラスタイメージプロセッサRIP308は、PDLコードのようなベクトルデータをビットマップイメージに展開する。プリンタI/F310は、プリンタエンジン部311とコントローラユニット313を接続し、画像データの同期系/非同期系の変換や制御コマンドの送受信、電源供給を行う。
The
画像処理部309は、入力画像データに対し補正、加工、編集を行い、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、加えて、画像データの回転や、多値画像データに対してJPEG、2値画像データは、JBIG、MMR、MH等の圧縮伸張処理を行う。プリンタエンジン部311は、ラスタイメージデータを用紙上の画像に変換する部分である。この方式は、感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式を採用してもよい。プリント動作の起動は、CPU301からの指示によって開始する。
An
USBインターフェース306やLANインターフェース314を介し、ステータス情報の問い合わせが行われると、FLASHROM302に記録されたプログラムがCPU301により実行される。そして、プリンタエンジン部311の状態を検知し、ステータス情報を返信する。
When the status information is inquired via the
図4は、サーバーマシン100上で動作するステータス通知アプリケーション401の画面の一例を示す。ステータス通知アプリケーション401は、ROM204に格納されるプログラムでありCPU201で実行される。ステータス通知アプリケーション201は、NVMEM203に保存された、後述するポーリング間隔(状態監視の問合せ間隔)に従ってプリンタ103のステータスを取得する。取得したステータスの内容に応じて表示部402の表示を切り替える。なお、応答ステータスについては、後述の図5にて説明する。
FIG. 4 shows an exemplary screen of the
ユーザがプリンタ103のプリンタドライバをインストールする場合、同時にステータス通知アプリケーション401がインストールされる。ステータス通知アプリケーション401がインストールされる場合、ステータス通知アプリケーション401はプリンタ103と関連付けられる。
When the user installs the printer driver of the
図5は、プリンタ103が取得し得るステータスの一覧、およびその際にステータス通知アプリケーション401が表示部402に表示されるステータスを示す。以下、各ステータスについて説明する。レディ501は、プリンタ103が印刷可能な状態を示す。このとき、ステータス通知アプリケーション401は、表示部402に印刷できます511を表示する。
FIG. 5 shows a list of statuses that can be acquired by the
印刷中502は、プリンタ103が印刷動作を行っている状態を示す。このとき、ステータス通知アプリケーション401は、表示部402に印刷中です512を表示する。スリープ503は、プリンタ103がスリープ状態であることを示す。このとき、ステータス通知アプリケーション401は、表示部402にスリープ中です513を表示する。
During printing 502 indicates a state in which the
ジャム504は、プリンタ103内に用紙が詰まり印刷が行えないことを示す。このとき、ステータス通知アプリケーション401は、表示部402にジャムが発生しています514を表示する。デバイス故障505は、プリンタ103に何らかの故障が生じているため印刷が行えないことを示す。このときステータス通知アプリケーション401は、表示部402にデバイス故障中です512を表示する。
A
電源OFF(エラー)506は、プリンタ103の電源が入っていない状態を示す。このとき、ステータス通知アプリケーション401は、ステータス取得コマンドに対する応答が得られない。そのためステータス取得コマンドにタイムアウトを指定し、それを超えた場合(すなわち、所定の時間が過ぎた場合)、通信エラーが発生しています516を表示する。ドライバだけインストールしてプリンタの実体がない場合も応答が得られないため、同様の通信エラーが発生しています516を表示する。以降、エラーとは、デバイスからの応答が得られない通信エラーが発生しています516を指す。
A power OFF (error) 506 indicates a state in which the
図6は、ステータス通知アプリケーション401のモジュール構成を示す。ステータス通知アプリケーション401は、ROM204に格納され、CPU201上で実行される。ステータス通知アプリケーション401は、メインアプリケーション部403と通信制御モジュール404から構成される。通信制御モジュール404もROM204に格納される。メインアプリケーション部403は、プリンタ毎にプロセスが存在するが、通信制御モジュール404は、複数のステータス通知アプリケーションに共通で使用される。通信制御モジュール404は、ステータス取得コマンド他複数のコマンドを提供する。メインアプリケーション部403は、通信制御モジュール404をロードし、通信制御モジュール404が提供するコマンドを使用し、ステータス取得など各種機能を実現する。
FIG. 6 shows a module configuration of the
通信制御モジュール404は、状態を取得するためのステータス取得コマンドを、LANインターフェース207またはUSBインターフェース208を介してプリンタ103に送信する。ステータス取得コマンドに応じた応答ステータスをプリンタ103からLANインターフェース207またはUSBインターフェース208を介して受信すると、その応答ステータスの内容に応じて表示部402の表示を切り替える。
The
図7は、サーバーマシン100上で通常のプリンタのステータス通知アプリケーションとリダイレクトプリンタのステータス通知アプリケーションが動作する際の概念図である。メインアプリケーション部403は、サーバーマシン100にインストールされたプリンタ103のステータス通知アプリケーションのメインアプリケーション部である。
FIG. 7 is a conceptual diagram when a normal printer status notification application and a redirect printer status notification application operate on the
メインアプリケーション部604は、クライアントマシン101にインストールされたプリンタ606のステータス通知アプリケーションのメインアプリケーション部である。このとき、プリンタ(第1印刷装置)103とプリンタ606は、同一のプリンタであり、プリンタ606のプリンタドライバは、サーバーマシン100、クライアントマシン101ともにインストールされている。
A
サーバーマシン100にクライアントマシン101がリモートデスクトップ接続によりログインすると、OSの機能により自動的に、プリンタ(第2印刷装置)606のリダイレクトプリンタが生成される。通信制御モジュール404は、リダイレクトプリンタの生成によりプリンタドライバが増えたことを検知する。メインアプリケーションはプリンタ毎にプロセスが異なるため、通信制御モジュール404は、生成されたリダイレクトプリンタに対応するメインアプリケーションとしてメインアプリケーション部602を起動する。
When the
クライアントマシン101上では、不図示のターミナルサービスのクライアントソフトウェアが実行されている。メインアプリケーション部604は、通信制御モジュール605をロードし、ステータス取得を行う。通信制御モジュール604は、サーバーマシン100上で動作している通信制御モジュール404と同一のモジュールである。
On the
通信制御モジュール404は、メインアプリケーション部403からステータス取得コマンドを受信すると、LANインターフェース207またはUSBインターフェース208を介して送信する。一方、メインアプリケーション部602からステータス取得コマンドを受信すると、クライアントマシン101上で動作するステータス通信制御モジュール605に不図示のネットワークIFを介し、ステータス取得コマンドを発行する。
When the
図8は、通信制御モジュール404がプリンタのステータスを問い合わせる間隔を定義したポーリング間隔テーブル701を示す。ポーリング間隔テーブル701は、NVMEM204上に格納される。ポーリング間隔701は、サーバーマシン100にインストールされたプリンタドライバ数aでポーリング間隔を変化させる。
FIG. 8 shows a polling interval table 701 in which intervals at which the
インストールされたプリンタドライバ数aがN未満場合、ポーリング間隔は、1secを設定する。プリンタドライバ数aがN以上M未満の場合、ポーリング間隔は、a secを設定する。プリンタドライバ数aがM以上の場合、ポーリング間隔は、a*5 secとする。このとき、閾値N(1以上の自然数)、閾値M(Nよりも大きい自然数)は、任意の値でありNVMEM204に記憶される。なお、閾値N、閾値Mは、固定値でもユーザ定義できる可変値であってもよい。
When the number of installed printer drivers a is less than N, the polling interval is set to 1 sec. When the printer driver number a is N or more and less than M, the polling interval is set to a sec. When the printer driver number a is M or more, the polling interval is set to a * 5 sec. At this time, the threshold value N (a natural number greater than or equal to 1) and the threshold value M (a natural number greater than N) are arbitrary values and are stored in the
図9は、通信制御モジュール404がプリンタのステータスを問い合わせる間隔を定義したポーリング間隔テーブル801を示す。ポーリング間隔テーブル801は、NVMEM204上に格納される。ポーリング間隔801は、前回ステータスに従い、ポーリング間隔を変化させる。前回ステータスがスリープ503の場合、ポーリング間隔は、10secを設定する。前回ステータスがエラーの場合、ポーリング間隔は、5secを設定する。前回ステータスがスリープでもエラーでもない場合、ポーリング間隔は、1secを設定する。
FIG. 9 shows a polling interval table 801 that defines intervals at which the
図10は、通信制御モジュール404がプリンタのステータスを問い合わせる間隔を定義したポーリング間隔テーブル901を示す。ポーリング間隔テーブル901は、NVMEM204上に格納される。ポーリング間隔901は、ステータス取得対象のプリンタがリダイレクトプリンタか否かでポーリング間隔を相対的に変化させる。リダイレクトプリンタの場合、ポーリング間隔は、10secを設定する。非リダイレクトプリンタの場合、ポーリング間隔は、1secを設定する。
FIG. 10 shows a polling interval table 901 that defines intervals at which the
図11は、通信制御モジュール404がプリンタのステータスを問い合わせる間隔を定義したポーリング間隔テーブル1001を示す。ポーリング間隔テーブル1001は、NVMEM204上に格納される。ポーリング間隔テーブル1001は、3つの指標で定義されている。サーバーマシン100にインストールされたプリンタドライバ数a、前回ステータスがエラー506、スリープ503、エラーおよびスリープの情報以外、プリンタがリダイレクトプリンタか否かである。
FIG. 11 shows a polling interval table 1001 in which intervals at which the
ステータスがエラー状態の場合、前述の通り、ステータス取得コマンドがタイムアウトするまで制御が戻らずCPU負荷が高くなってしまう。そのため、前回ステータスがエラーの場合に特化し、ポーリング間隔を変更する。また、プリンタドライバ数aが少ない場合(N未満の場合)、元々、CPU負荷が少ないため、リダイレクトプリンタか否かに関わらず同一のポーリング間隔をとる。一方、プリンタドライバ数aが非常に多い場合(M以上の場合)、リダイレクトプリンタか否かに関わらず取り得る最大値のポーリング間隔をとる。なお、本実施形態では100secとするが、これ以外の間隔であってもよい。 When the status is in an error state, as described above, the control is not returned until the status acquisition command times out, and the CPU load increases. Therefore, the polling interval is changed specially when the previous status is an error. Further, when the number of printer drivers a is small (less than N), the CPU load is originally small, so the same polling interval is taken regardless of whether the printer is a redirect printer. On the other hand, if the number of printer drivers a is very large (M or more), the maximum possible polling interval is taken regardless of whether or not the printer is a redirect printer. In this embodiment, the interval is 100 seconds, but other intervals may be used.
プリンタドライバ数aがN以上M未満の場合、ポーリング間隔は、リダイレクトプリンタであればa*5*5sec、リダイレクトプリンタでなければa*5secとなる。リモートデスクトップ環境で多数のリダイレクトプリンタが生成され、それらが通信エラーの場合、サーバーにローカルインストールされているプリンタよりもポーリング間隔を長くすることでCPU負荷を軽減する。 When the number of printer drivers a is N or more and less than M, the polling interval is a * 5 * 5 sec for a redirect printer and a * 5 sec for a redirect printer. When a large number of redirect printers are generated in a remote desktop environment and they are communication errors, the CPU load is reduced by making the polling interval longer than that of a printer locally installed on the server.
スリープや、エラーおよびスリープ以外の場合、対象のプリンタと通信ができているためドライバ数aや前回ステータス、リダイレクトプリンタか否かに依らず一定のポーリング間隔をとる。また、ポーリング間隔テーブル1001は、プリンタドライバ数a、前回ステータス、リダイレクトプリンタか否かの3つの指標を用いているが、任意の組み合わせで定義可能である。 In cases other than sleep, error, and sleep, communication with the target printer is possible, so a fixed polling interval is taken regardless of the number of drivers a, the previous status, and whether the printer is a redirect printer. Further, the polling interval table 1001 uses three indicators, ie, the number of printer drivers a, the previous status, and whether the printer is a redirect printer, but can be defined in any combination.
図12は、ポーリング間隔決定コマンドを受信した通信制御モジュール404が、ポーリング間隔テーブル701で定義される、サーバーマシン100にインストールされたプリンタドライバの数に従い、ポーリング間隔を決定する処理を示すフロー図である。
FIG. 12 is a flowchart illustrating processing in which the
まず、通信制御モジュール404は、ポーリング間隔決定コマンドを受信すると(ステップS1101)、サーバーマシン100にインストールされているプリンタドライバ数aを取得する(ステップS1102)。取得したプリンタドライバ数aがNより小さい場合(ステップS1103でNo)、ポーリング間隔を1秒に設定する(ステップS1104)。
First, when receiving a polling interval determination command (step S1101), the
一方、プリンタドライバ数aがNより大きく(ステップS1103でYes)、かつMより少ない場合(ステップS1105でNo)、ポーリング間隔をa secに設定する(ステップS1106)。プリンタドライバ数aがMより大きい場合(ステップS1105でYes)、ポーリング間隔をa*5秒に設定する(ステップS1107)。 On the other hand, when the printer driver number a is larger than N (Yes in step S1103) and smaller than M (No in step S1105), the polling interval is set to a sec (step S1106). If the printer driver number a is larger than M (Yes in step S1105), the polling interval is set to a * 5 seconds (step S1107).
図13は、インストールされたプリンタドライバの数が変更された際の通信制御モジュール404の動作フローである。通信制御モジュール404は、メインアプリケーション部401にロードされた際、サーバーマシン100にインストールされているプリンタ台数aを予め取得する。プリンタドライバ数の変化(変更)を検知すると(ステップS1201でYes)、ポーリング間隔決定コマンドを発行して(ステップS1202)、変更後のプリンタドライバ数におけるポーリング間隔を決定する。
FIG. 13 is an operation flow of the
図14は、ポーリング間隔決定コマンドを受信した通信制御モジュール404がポーリング間隔テーブル801で定義される、前回ステータスに従い、ポーリング間隔を決定するフローである。まず、通信制御モジュール404は、ポーリング間隔決定コマンドを受信すると(ステップS1301)、NVMEM204に格納された前回ステータスを取得する(ステップS1302)。前回ステータスがスリープ503の場合(ステップS1303でYes)、ポーリング間隔を10secに設定する(ステップS1304)。
FIG. 14 is a flow in which the
前回ステータスがスリープ503でなく(ステップS1303でNo)、エラー506の場合(ステップS1305でYes)、ポーリング間隔を5secに設定する(ステップS1306)。前回ステータスがスリープ503でなく(ステップS1303でNo)、エラー506でもない場合(ステップS1305でNo)、ポーリング間隔を1secに設定する(ステップS1307)。 When the previous status is not sleep 503 (No in step S1303) and error 506 (Yes in step S1305), the polling interval is set to 5 sec (step S1306). If the previous status is neither sleep 503 (No in step S1303) nor error 506 (No in step S1305), the polling interval is set to 1 sec (step S1307).
図15は、ステータス取得コマンドを受信した際の通信制御モジュール404の動作フローである。本実施形態では、メインアプリケーション部401は、一定間隔でステータス取得コマンドを発行するが、ステータス取得コマンドを受け取った通信制御モジュール404側で、決定されたポーリング間隔に従いステータス取得を行う。通信制御モジュール404がメインアプリケーション側401にポーリング間隔を通知し、メインアプリケーション部401がポーリング間隔を制御してもよい。
FIG. 15 is an operation flow of the
通信制御モジュール404は、メインアプリケーション部401からステータス取得コマンドを受信する(ステップS1401)。そして、前回ステータス問い合わせからの経過時間が設定されたポーリング間隔に満たない場合(ステップS1402でNo)、NVMEM204に記憶された前回ステータスをメインアプリケーション部401に返送する(ステップS1403)。
The
一方、経過時間がポーリング間隔を超えた場合(ステップS1402でYes)、ステータスをプリンタ103に問い合わせる(ステップS1404)。取得したステータスが前回ステータスから変更があった場合(ステップS1405でYes)、ポーリング間隔決定コマンドを自身に向けて発行する(ステップS1406)。そして、取得したステータスをNVMEM204に記憶し(ステップS1407)、メインアプリケーション部401に返送する(ステップS1408)。 On the other hand, if the elapsed time exceeds the polling interval (Yes in step S1402), the status is inquired to the printer 103 (step S1404). If the acquired status has changed from the previous status (Yes in step S1405), a polling interval determination command is issued to itself (step S1406). The acquired status is stored in the NVMEM 204 (step S1407) and returned to the main application unit 401 (step S1408).
図16は、ポーリング間隔決定コマンドを受信した通信制御モジュール404がポーリング間隔を決定するフローである。ポーリング間隔は、ポーリング間隔テーブル901で定義されるステータス通知アプリケーション401に紐づけられたプリンタが、リダイレクトプリンタとして管理されるプリンタか否かに従い、決定する。まず、通信制御モジュール404は、自身に向けて発行したポーリング間隔決定コマンドを受信すると(ステップS1501)、ポート情報からプリンタがリダイレクトプリンタか否かを判定(特定)する(ステップS1502)。リダイレクトプリンタの場合(ステップS1502でYes)、ポーリング間隔を10secに設定する(ステップS1503)。
FIG. 16 is a flow in which the
一方、リダイレクトプリンタでない場合(ステップS1502でNo)、ポーリング間隔を1secに設定する(ステップS1504)。リダイレクトプリンタか否かは途中で変わることがないので、通信制御モジュール404は、ポーリング開始前の任意のタイミングで(例えば、ロード時の初期化処理など)、ポーリング間隔決定コマンドを自身に向けて発行する。
On the other hand, if the printer is not a redirect printer (No in step S1502), the polling interval is set to 1 sec (step S1504). Since whether or not the printer is a redirect printer does not change in the middle, the
図17および図18は、ポーリング間隔決定コマンドを受信した通信制御モジュール404がポーリング間隔テーブル1001に従い、ポーリング間隔を決定するフローである。ポーリング間隔は、インストールされたプリンタドライバの数、前回取得ステータス、リダイレクトプリンタか否かに基づいて決定する。通信制御モジュール404は、ポーリング間隔決定コマンドを受信すると(ステップS1601)、サーバーマシン100にインストールされているプリンタドライバ数aを取得する(ステップS1602)。続いてNVMEM204に格納された前回ステータスを取得する(ステップS1603)。
17 and 18 are flowcharts in which the
次に、図18において、プリンタドライバ数aがNより小さい場合(ステップS1604でNo)、かつ前回ステータスがスリープ503の場合(ステップS1605でYes)、ポーリング間隔を10secに設定する(ステップS1606)。一方、前回ステータスがスリープ503でなく(ステップS1605でNo)、かつエラー506の場合(ステップS1607でYes)、ポーリング間隔を5secに設定する(ステップS1608)。前回ステータスがスリープ503でもエラー506でもない場合(ステップS1607でNo)、ポーリング間隔を1secに設定する(ステップS1609)。
Next, in FIG. 18, when the printer driver number a is smaller than N (No in step S1604) and the previous status is sleep 503 (Yes in step S1605), the polling interval is set to 10 sec (step S1606). On the other hand, when the previous status is not sleep 503 (No in step S1605) and error 506 (Yes in step S1607), the polling interval is set to 5 sec (step S1608). If the previous status is neither
プリンタドライバ数aがNより大きく(ステップS1604でYes)、Mより小さく(ステップS1610でNo)、かつ前回ステータスがスリープの場合(ステップS1611でYes)、ポーリング間隔を10secに設定する(ステップS1612)。前回ステータスがスリープ503でなく(ステップS1611でNo)、エラー506である場合(ステップS1613でYes)、ステップS1613に進む。そして、リダイレクトプリンタか否かを判定して、リダイレクトプリンタの場合(ステップS1614でYes)、ポーリング間隔をプリンタドライバ数a*5*5に設定する(ステップS1615)。リダイレクトプリンタでない場合(ステップS1614でNo)、ポーリング間隔をプリンタドライバ数a*5に設定する(ステップS1616)。前回ステータスがスリープ503でなく(ステップS1611でNo)、エラー506でもない場合(ステップS1613でNo)、ポーリング間隔を1secに設定する(ステップS1617)。 When the printer driver number a is larger than N (Yes in step S1604), smaller than M (No in step S1610), and the previous status is sleep (Yes in step S1611), the polling interval is set to 10 sec (step S1612). . If the previous status is not sleep 503 (No in step S1611) and the error is 506 (Yes in step S1613), the process proceeds to step S1613. Then, it is determined whether the printer is a redirect printer. If the printer is a redirect printer (Yes in step S1614), the polling interval is set to the number of printer drivers a * 5 * 5 (step S1615). If the printer is not a redirect printer (No in step S1614), the polling interval is set to the number of printer drivers a * 5 (step S1616). If the previous status is neither sleep 503 (No in step S1611) nor error 506 (No in step S1613), the polling interval is set to 1 sec (step S1617).
図17に戻って、プリンタドライバ数aがMより大きい場合(ステップS1610でYes)、前回ステータスがスリープ503の場合(ステップS1618でYes)、ポーリング間隔を10secに設定する(ステップS1619)。前回ステータスがスリープ503でなく(ステップS1618でNo)、エラー506の場合(ステップS1620でYes)、ポーリング間隔を100secに設定する(ステップS1621)。前回ステータスがスリープ503でなく(ステップS1618でNo)、エラー506でもない場合(ステップS1620でNo)、ポーリング間隔を1secに設定する(ステップS1622)。 Returning to FIG. 17, if the printer driver number a is larger than M (Yes in step S1610), if the previous status is sleep 503 (Yes in step S1618), the polling interval is set to 10 sec (step S1619). If the previous status is not sleep 503 (No in step S1618) and error 506 (Yes in step S1620), the polling interval is set to 100 sec (step S1621). If the previous status is not sleep 503 (No in step S1618) and is not error 506 (No in step S1620), the polling interval is set to 1 sec (step S1622).
以上、本実施形態によれば、リモートデスクトップ環境でサーバー上に多数のリダイレクトプリンタが生成され、多数のステータス通知アプリケーションが動作する場合であっても、サーバーマシン100への負荷を軽減する情報処理装置を提供することができる。
As described above, according to this embodiment, even when a large number of redirect printers are generated on a server in a remote desktop environment and a large number of status notification applications operate, an information processing apparatus that reduces the load on the
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウェア(プログラム)をパソコン(コンピューター)等の処理装置(CPU、プロセッサ)にて実行することでも実現できる。 Each process of the present invention can also be realized by executing software (program) acquired via a network or various storage media by a processing device (CPU, processor) such as a personal computer (computer).
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。 As mentioned above, although preferable embodiment of this invention was described, this invention is not limited to these embodiment, A various deformation | transformation and change are possible within the range of the summary.
Claims (9)
前記第1および第2印刷装置に対して、問合せを行う問合せ手段と、
前記問合せを行う間隔を制御する制御手段と、を有し、
前記制御手段は、ポート情報に基づいて接続された印刷装置が前記リダイレクトプリンタであるとの特定を行い、該特定により、前記リダイレクトプリンタとして管理される第2印刷装置に対する問合せの間隔を、前記第1印刷装置の問合せの間隔よりも相対的に長くする
ことを特徴とする情報処理装置。 An information processing apparatus that monitors a first printing apparatus connected via a network and a second printing apparatus managed as a redirect printer connected via a client apparatus,
Inquiry means for making an inquiry to the first and second printing devices;
Control means for controlling the interval for making the inquiry,
The control means identifies that the printing device connected based on the port information is the redirect printer, and determines the inquiry interval for the second printing device managed as the redirect printer by the identification. An information processing apparatus characterized by being relatively longer than an inquiry interval of one printing apparatus.
ことを特徴とする請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the control unit controls an interval for performing the inquiry according to the number of the first and second printing apparatuses.
ことを特徴とする請求項1または2に記載の情報処理装置。 When the number of the first and second printing apparatuses is greater than or equal to N (a natural number greater than or equal to 1) and less than M (a natural number greater than N), the control unit sets the inquiry interval of the second printing apparatus to the first printing. When the number is less than N, the inquiry interval of the first and second printing devices is set to the same interval, and when the number is M or more, the maximum value The information processing apparatus according to claim 1, wherein an inquiry interval is controlled.
ことを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。 The said control means changes the said inquiry space | interval according to the number after a change, when the number of the said 1st and 2nd printing apparatuses is changed. The information processing apparatus described in 1.
をさらに有し、
前記取得手段で取得した前記ステータス情報に応じて、前記制御手段は、前記問合せの間隔を制御する
ことを特徴とする請求項1〜4のいずれか1項に記載の情報処理装置。 Further comprising obtaining means for obtaining status information of the first and second printing apparatuses;
The information processing apparatus according to claim 1, wherein the control unit controls an interval of the inquiry according to the status information acquired by the acquisition unit.
ことを特徴とする請求項5に記載の情報処理装置。 The status information includes error information, and when the status information acquired by the acquisition unit is the error information, the control unit sets the inquiry interval of the second printing apparatus to the first printing apparatus. 6. The information processing apparatus according to claim 5, wherein the information processing apparatus is set to be relatively longer than the inquiry interval.
ことを特徴とする請求項6に記載の情報処理装置。 7. The control unit according to claim 6, wherein when the status information acquired by the acquiring unit is information other than the error information, the control unit sets the inquiry intervals of the first and second printing apparatuses to the same interval. The information processing apparatus described.
前記第1および第2印刷装置に対して、問合せを行う問合せ工程と、
前記問合せを行う間隔を制御する制御工程と、
を有し、
前記制御工程において、ポート情報に基づいて接続された印刷装置がリダイレクトプリンタであるとの特定を行い、該特定により、前記リダイレクトプリンタとして管理される第2印刷装置に対する問合せの間隔を、前記第1印刷装置の問合せの間隔よりも相対的に長くする
ことを特徴とする情報処理装置の制御方法。 A method for controlling an information processing apparatus that monitors a first printing apparatus connected via a network and a second printing apparatus managed as a redirect printer connected via a client apparatus,
An inquiry step for making an inquiry to the first and second printing apparatuses;
A control step for controlling an interval for performing the inquiry;
Have
In the control step, it is specified that the connected printing device is a redirect printer based on the port information, and the inquiry interval for the second printing device managed as the redirect printer is determined by the specification. A control method for an information processing apparatus, characterized by making the interval relatively longer than an inquiry interval of a printing apparatus.
The program for functioning a computer as a means of any one of Claims 1-7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013259636A JP2015118413A (en) | 2013-12-16 | 2013-12-16 | Information processor, control method of information processor, and program thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013259636A JP2015118413A (en) | 2013-12-16 | 2013-12-16 | Information processor, control method of information processor, and program thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015118413A true JP2015118413A (en) | 2015-06-25 |
Family
ID=53531110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013259636A Pending JP2015118413A (en) | 2013-12-16 | 2013-12-16 | Information processor, control method of information processor, and program thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015118413A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10362147B2 (en) | 2015-10-09 | 2019-07-23 | Seiko Epson Corporation | Network system and communication control method using calculated communication intervals |
-
2013
- 2013-12-16 JP JP2013259636A patent/JP2015118413A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10362147B2 (en) | 2015-10-09 | 2019-07-23 | Seiko Epson Corporation | Network system and communication control method using calculated communication intervals |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9086826B2 (en) | Information processing apparatus, method for controlling the same, and storage medium | |
JP5595035B2 (en) | Information processing apparatus, method and program | |
JP7305716B2 (en) | IMAGE FORMING APPARATUS, IMAGE FORMING APPARATUS CONTROL METHOD, AND PROGRAM | |
US8976402B2 (en) | Method of controlling communication system | |
JP6202902B2 (en) | System, information processing apparatus, control method thereof, and program | |
US11573753B2 (en) | Non-transitory computer-readable recording medium storing computer-executable instructions for information processing device, and method of controlling information processing device with driverless printing function | |
US9135360B2 (en) | Information transmission apparatus, control method thereof, and recording medium storing computer program | |
JP6383175B2 (en) | Information processing apparatus, method, program, and information processing system | |
JP6204786B2 (en) | Printing system, image forming apparatus, control method therefor, and program | |
US10241731B2 (en) | Information processing apparatus, method of controlling the same, print system and storage medium | |
EP2807547B1 (en) | Information processing apparatus, and program | |
JP2015112745A (en) | Sheet management device, method of controlling sheet management device, program, and storage medium | |
JP2013090264A (en) | Image processing apparatus, display control method, browser program, and application program | |
JP6397223B2 (en) | Information processing apparatus, control method therefor, and program | |
US10146487B2 (en) | Information processing system, apparatus, and method | |
JP5609308B2 (en) | Image processing system, image processing apparatus, information processing apparatus, and image processing method | |
JP2010201862A (en) | Image processing device, method of controlling the image processing device, and program | |
CN107018269B (en) | Information processing apparatus, information system, and information processing method | |
JP2015118413A (en) | Information processor, control method of information processor, and program thereof | |
JP6395476B2 (en) | Image processing system, image processing method, information processing apparatus, program, and image reading apparatus | |
US20120033256A1 (en) | Information processing apparatus, job processing system, job transmission path control method, and storage medium storing control program therefor | |
US20140002839A1 (en) | Printing system, information processing apparatus, printing apparatus, control method, and storage medium storing program thereof | |
JP2016045697A (en) | Print control unit, printing system, control method of print control unit, and program | |
JP6378813B2 (en) | Printing apparatus, information processing method, and program | |
JP5968930B2 (en) | Image forming apparatus and event notification system |