[go: up one dir, main page]

JP2018176598A - 印刷装置およびプログラム - Google Patents

印刷装置およびプログラム Download PDF

Info

Publication number
JP2018176598A
JP2018176598A JP2017081620A JP2017081620A JP2018176598A JP 2018176598 A JP2018176598 A JP 2018176598A JP 2017081620 A JP2017081620 A JP 2017081620A JP 2017081620 A JP2017081620 A JP 2017081620A JP 2018176598 A JP2018176598 A JP 2018176598A
Authority
JP
Japan
Prior art keywords
upper limit
communication
information processing
limit number
processing apparatus
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.)
Granted
Application number
JP2017081620A
Other languages
English (en)
Other versions
JP6701116B2 (ja
Inventor
茂人 酒井
Shigeto Sakai
茂人 酒井
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 JP2017081620A priority Critical patent/JP6701116B2/ja
Priority to US15/936,153 priority patent/US10558404B2/en
Publication of JP2018176598A publication Critical patent/JP2018176598A/ja
Application granted granted Critical
Publication of JP6701116B2 publication Critical patent/JP6701116B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1209Improving or facilitating administration, e.g. print management resulting in adapted or bridged legacy communication protocols, e.g. emulation, protocol extension
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1239Restricting the usage of resources, e.g. usage or user levels, credit limit, consumables, special fonts
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1292Mobile client, e.g. wireless printing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer
    • G06F3/1294Status or feedback related to information exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】印刷装置の状態を取得することが可能な情報処理装置を提供する。
【解決手段】所定のプロトコルにおける複数の通信を並行して維持可能な第1の上限数と、第1の上限数よりも少ない第2の上限数が設定された印刷装置であって、所定のプロトコルにおける通信数が第1の上限数未満である場合、情報処理装置と所定のプロトコルに従う通信を確立させる確立手段と、確立された通信を介して情報処理装置から情報取得要求を受信し、かつ、確立手段によって通信を確立することで通信数が第2の上限数を超える場合、確立された通信を介して印刷ジョブを受け付けられない旨を情報処理装置に通知する制御手段を備える。
【選択図】図7

Description

本発明は、印刷装置およびプログラムに関する。
印刷に使用するプロトコルとしてIPP(Internet Printing Protocol)が知られている。特許文献1には、IPPを用いて複数の通信を並行して確立することが記載されている。
特開2014−49022号公報
しかしながら、特許文献1には、複数の通信を並行して使用する場合の上限について考慮されていない。そのため、通信数が上限に達した場合は少なくとも1つの通信が完了するまで新規通信を確立できず、情報処理装置が印刷装置の状態を取得できないおそれがあった。
上述のような課題を解決するため、本発明は、所定のプロトコルにおける複数の通信を並行して維持可能な第1の上限数と、前記第1の上限数よりも少ない第2の上限数が設定された印刷装置であって、前記所定のプロトコルにおける通信数が前記第1の上限数未満である場合、情報処理装置と前記所定のプロトコルに従う通信を確立させる確立手段と、前記確立された通信を介して前記情報処理装置から情報取得要求を受信し、かつ、前記確立手段によって通信を確立することで通信数が第2の上限数を超える場合、前記確立された通信を介して印刷ジョブを受け付けられない旨を前記情報処理装置に通知する制御手段を備えることを特徴とする。
本発明により、情報処理装置が印刷装置の状態を取得することが可能となる。
本発明の実施形態における情報処理装置及び通信装置の構成の図例である。 マルチセッションを説明するための図である。 印刷装置において行われる処理の流れを説明する図である。 印刷装置において行われるIPP用処理の流れを説明する図である。 印刷装置において行われるPort9100用処理の流れを説明する図である。 印刷装置において行われるWSD用処理の流れを説明する図である。 印刷装置において行われる状態通知処理の流れを説明する図である。 マルチセッションを説明するための図である。 印刷装置において行われるIPP用処理の流れを説明する図である。
以下に図面を参照して、本発明の好適な実施形態を例示的に説明する。ただし、本発明については、その趣旨を逸脱しない範囲で、当業者の通常の知識に基づいて、以下に記載する実施形態に対して適宜変更、改良が加えられたものについても本発明の範囲に入ることが理解されるべきである。
(第1実施形態)
本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。情報処理装置としては、パーソナルコンピュータ、ノートPC等が挙げられる。通信装置として、本実施形態ではプリンタを例示しているが、これに限定されず、情報処理装置と無線通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず複写機やファクシミリ装置、携帯端末、スマートホン、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビ等にも適用可能である。その他、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機にも適用可能である。
まず、本実施形態の情報処理装置と、本実施形態の情報処理装置と通信可能な通信装置の構成について図1のブロック図を参照して説明する。また、本実施形態では以下の構成を例に記載するが、本実施形態は通信装置と通信を行うことが可能な装置に関して適用可能なものであり、特にこの図のとおりに機能を限定するものではない。
情報処理装置101は、本実施形態の情報処理装置である。情報処理装置101は、入力インタフェース102、CPU103、ROM104、RAM105、外部記憶装置106、出力インタフェース107、表示部108、通信部109、近距離無線通信部110等を有する。
入力インタフェース102は、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースであり、物理キーボードやボタン、タッチパネル等で構成される。なお、後述の出力インタフェース107と入力インタフェース102とを同一の構成とし、画面の出力とユーザからの操作の受け付けを同一の構成で行うような形態としても良い。
CPU103は、システム制御部であり、情報処理装置101の全体を制御する。
ROM104は、CPU103が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム(以下、OSという。)プログラム等の固定データを格納する。本実施形態では、ROM104に格納されている各制御プログラムは、ROM104に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。
RAM105は、バックアップ電源を必要とするSRAM(Static Random Access Memory)等で構成される。なお、RAM105は、図示しないデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、情報処理装置101の設定情報や情報処理装置101の管理データ等を格納するメモリエリアもRAM105に設けられている。また、RAM105は、CPU103の主メモリとワークメモリとしても用いられる。
外部記憶装置106は、印刷実行機能を提供するアプリケーション、通信装置151が解釈可能な印刷情報を生成する印刷情報生成プログラム等を保存している。また、外部記憶装置106は、通信部109を介して接続している通信装置151との間で送受信する情報送受信制御プログラム等の各種プログラムや、これらのプログラムが使用する各種情報を保存している。
出力インタフェース107は、表示部108がデータの表示や情報処理装置101の状態の通知を行うための制御を行うインタフェースである。
表示部108は、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、データの表示や情報処理装置101の状態の通知を行う。なお、表示部108上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキーを備えるソフトキーボードを設置することで、表示部108を介してユーザからの入力を受け付けても良い。
通信部109は、通信装置151等の装置と接続して、データ通信を実行するための構成である。例えば、通信部109は、通信装置151内のアクセスポイント(不図示)に接続可能である。通信部109と通信装置151内のアクセスポイントが接続することで、情報処理装置101と通信装置151は相互に通信可能となる。なお、通信部109は無線通信で通信装置151とダイレクトに通信しても良いし、情報処理装置101や通信装置151の外部に存在する外部アクセスポイント(アクセスポイント131)を介して通信しても良い。無線通信方式としては、例えば、Wi−Fi(WirelessFidelity)(登録商標)やBluetooth(登録商標)等が挙げられる。また、アクセスポイント131としては、例えば、無線LANルーター等の機器などが挙げられる。なお、本実施形態において、情報処理装置101と通信装置151とが外部アクセスポイントを介さずにダイレクトに接続する方式をダイレクト接続方式という。また、情報処理装置101と通信装置151とが外部アクセスポイントを介して接続する方式をインフラストラクチャー接続方式という。また、通信部は、有線を用いて接続しても構わない。
近距離無線通信部110は、通信装置151等の装置と近距離で無線接続して、データ通信を実行するための構成であり、通信部109とは異なる通信方式によって通信を行う。近距離無線通信部110は、通信装置151内の近距離無線通信部157と接続可能である。なお、本実施形態では、近距離無線通信部110の通信方式として、Bluetooth Low Energy(BLE)が用いられる。
通信装置151は、本実施形態の通信装置である。通信装置151は、ROM152、RAM153、CPU154、プリントエンジン155、通信部156、近距離無線通信部157等を有する。
通信部156は、通信装置151内部のアクセスポイントとして、情報処理装置101等の装置と接続するためのアクセスポイントを有している。なお、該アクセスポイントは、情報処理装置101の通信部109に接続可能である。なお、通信部156は無線通信で情報処理装置101とダイレクトに通信しても良いし、アクセスポイント131を介して通信しても良い。通信方式としては、例えば、Wi−Fi(登録商標)やBluetooth(登録商標)等が挙げられる。また、通信部156は、アクセスポイントとして機能するハードウェアを備えていてもよいし、アクセスポイントとして機能させるためのソフトウェアにより、アクセスポイントとして動作してもよい。
近距離無線通信部157は、情報処理装置101等の装置と近距離で無線接続するための構成である。本実施形態では、近距離無線通信部157の通信方式として、Bluetooth Low Energy(BLE)や、Near Field Communication(NFC)が用いられる。
RAM153は、バックアップ電源を必要とするSRAM等で構成される。なお、RAM153は、図示しないデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、通信装置151の設定情報や通信装置151の管理データ等を格納するメモリエリアもRAM153に設けられている。また、RAM153は、CPU154の主メモリとワークメモリとしても用いられ、情報処理装置101等から受信した印刷情報を一旦保存するための受信バッファや各種の情報を保存する。
ROM152は、CPU154が実行する制御プログラムやデータテーブル、OSプログラム等の固定データを格納する。本実施形態では、ROM152に格納されている各制御プログラムは、ROM152に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。
CPU154は、システム制御部であり、通信装置151の全体を制御する。
プリントエンジン155、RAM153に保存された情報や情報処理装置101等から受信した印刷ジョブに基づき、インク等の記録剤を用いて紙等の記録媒体上に画像形成し、印刷結果を出力する。この時、情報処理装置101等から送信される印刷ジョブは、データ量が大きく、高速な通信が求められるため、近距離無線通信部157よりも高速に通信可能な通信部156を介して受信する。なお、印刷ジョブは、情報処理装置101において動作するアプリケーションにより生成されても良いし、情報処理装置101において動作するプリンタドライバにより生成されても良い。
なお、通信装置151には、外付けHDDやSDカード等のメモリがオプション機器として装着されてもよく、通信装置151に保存される情報は、当該メモリに保存されても良い。
また、本実施形態の通信装置は、接続設定処理により接続モードが設定され、設定された接続モードに基づいた接続形態により、情報処理装置と通信を行う。本実施形態の通信装置は、インフラストラクチャー接続により通信を行う場合は、接続モードとしてインフラストラクチャー接続モードが設定され、ダイレクト接続により通信を行う場合は、接続モードとしてダイレクト接続モードが設定される。
ここでは、例として情報処理装置101と通信装置151との処理分担を上記のように示したが、特にこの分担形態に限らず他の形態であってもよい。なお、以降の説明では、通信装置151を印刷装置151として説明する。
続いて、本実施形態におけるマルチセッションについて説明する。マルチセッションとは、印刷装置151が印刷要求を受け付けることができない状態でネットワーク通信から印刷要求を受信した場合、所定の処理を実行することでユーザからの再印刷操作なしに印刷するための仕組みである。なお、上述した所定の処理の一例は、Keep−Alive通信や情報処理装置101のオペレーティングシステムによる印刷要求リトライ処理である。
図2を使ってマルチセッションについて説明する。
まず、ユーザが情報処理装置101に対して印刷実行を指示する。
続いて情報処理装置101は、ユーザから印刷実行を受けることで印刷ジョブを生成し、プリンタに印刷ジョブの開始通知を送信する。さらに、情報処理装置101は、印刷装置151に対して、印刷装置の状態取得要求を送信する(201)。
図2の例では、印刷装置151が、他の印刷ジョブを処理中であり、情報処理装置101から印刷ジョブを受信しても印刷できない状況ではある。しかし、印刷装置151は、マルチセッション機能を実行できるため、ジョブ受け付け可能と返す(202)。
情報処理装置101は、印刷装置151からジョブ受け付け可能との通知を受けることで、印刷要求と印刷データを印刷装置151に送信する(203−204)。ここで、印刷装置151は、実際には印刷データに基づく印刷処理を実行できないためKeep−Aliveを情報処理装置101へ通知する(205)。情報処理装置101は、Keep−Aliveを受信するとKeep−Alive(ACK)を受信するまで、印刷データを送信可能か問い合わせる。印刷装置151は、印刷可能となるまで、問い合わせに対する応答としてKeep−Aliveを通知する。そして、印刷装置151は、他の印刷ジョブが完了した場合、アイドル状態となり、印刷ジョブを受け付け可能な状態となる。そのため、印刷装置151は、情報処理装置101に対してKeep−Alive(ACK)を通知する(206)。情報処理装置101は、Keep−Alive(ACK)を受けることで、待機していた印刷データを印刷装置151へ送信する(207−208)。
以上のようにマルチセッションを使用することで、印刷装置151が他の印刷ジョブを処理中であるために印刷ジョブを受けられない場合であっても、自動的に印刷データが送信される。そのため、ユーザが再度の印刷実行を指示する必要がなくなり、操作性を向上することができる。
一方、印刷装置151において、プロトコル単位にマルチセッションで並行して維持可能な通信数に上限がある。なお、説明を分かりやすくするために、本実施形態では、プロトコル単位にマルチセッションで並行して維持できる通信数を「5」として説明する。印刷装置151が、マルチセッションを使って5つの接続を並行して維持している状況で、ユーザが印刷実行を指示した場合、情報処理装置101は印刷装置151との接続に失敗する。そして、接続に失敗するため、情報処理装置101は、上述した状態取得要求201も印刷装置151に送信できない。その結果、情報処理装置101は、印刷装置151の状態を認識できない。そして、情報処理装置101は、印刷装置151の状態を認識できない場合、例えば印刷装置151の電源がOFFであり通信ができない状況にも関わらず、接続処理を無駄に繰り返してしまうおそれがある。一方、例えば印刷装置151におけるマルチセッションで並行して維持できる通信数が上限に達している状況であれば、情報処理装置101は、接続処理を繰り返すことで接続できる可能性がある。しかし、情報処理装置101が、印刷装置の状況を認識できない場合、継続すべき接続処理のリトライを終了してしまうおそれがある。つまり、情報処理装置101が、印刷装置151の状態を取得できないことにより、利便性が低下するおそれがあった。そのため、本実施形態では、情報処理装置101が印刷装置151の状態を認識できるように、印刷装置151が図3のような方法でマルチセッションの通信数を管理する。
図3は、印刷装置151において実行されるフローチャートである。なお、本実施形態では、印刷装置151において実行される処理を示すフローチャートの各ステップは、CPU154がフローチャートに関係するプログラムを読みだして実行することで実現される。
CPU154は、情報処理装置101から要求を受信する(S301)と、要求の内容を解析して印刷要求であるのか状態取得要求であるのかを判定する(S302)。なお、S301の受信処理は、プロトコル単位にマルチセッションで並行して維持できる通信数の上限数未満である場合(通信数が「5」未満である場合)に通信が確立されて、実行される。S302において、情報取得要求と判定された場合、CPU154は、状態通知処理(S304)を実行する。なお、S304の詳細な説明は、図7にて後述する。S302において、印刷要求と判定された場合、CPU154は、経路(プロトコル)を判定する(S303)。なお、状態取得要求は、上述した図2の201に相当し、印刷要求は、上述した図2の203に相当する。また、S303の具体的な処理内容として、CPU154は、印刷要求に使用された通信ポートを使って判定する。もし同一ポートに複数プロトコルが割り当てられている場合、CPU154は、印刷要求の送信先であるURIアドレスを使って判定しても良い。
S303の判別結果がIPP(実施例においては通信ポート631)だった場合、CPU154の処理は、S303Aに進む。一方、S303の判別結果がPort9100であった場合、CPU154の処理はS303Bに進み、S303の判別結果がWSDであった場合、CPUの処理はS303Cに進む。
続いて、S303Aの処理について図4を用いて説明する。
S303においてIPPであると判定された場合、CPU154は、IPPにおける現段階の通信数をカウントし、S301において受信した印刷要求に対応する接続を確立することにより、印刷要求の上限数を超えるか否かを判定する(S305)。なお、S305の判定において使用される印刷要求の上限数とは、IPPを並行して接続できる数の残りが1つとなる通信数に対応する。つまり、上述した通り、本実施形態では、1つのプロトコルで並行して接続可能な上限数が「5」であるので、S305の判定に使用される印刷要求の上限数は「4」となる。よって、本実施形態に従って説明すると、S305において、CPU154は、S301で受信した印刷要求に対応する接続を確立することで印刷要求の上限数「4」を超えるか否かを判定する。言い換えれば、S301で受信した印刷要求に対応する接続を確立することにより、IPPを並行して接続できる数が0となるか否かが判定される。
S305により通信数が印刷要求の上限数を超えないと判定された場合、S306が実行され、S305により通信数が上限を超えると判定された場合、S310が実行される。
CPU154は、印刷データの終了処理を実行する(S310)。ここでS310の処理について一例を使って説明する。後述する図7のS322において「印刷ジョブ受付不可」が通知された場合でも、情報処理装置101のステータス取得が遅れるなどの要因で、印刷要求が送られてくる可能性がある。そこでCPU154は、「印刷ジョブ受付不可」の場合、印刷要求にNG応答を通知することで印刷データの送信を防ぐ。それでも情報処理装置101がステータスを無視し、セッションを確立し、印刷データを送信してくる場合、印刷装置151は、可能な限り早く印刷データの送信セッションを終わらせる。本実施形態では、IPPによる通信数が「4」の状態で情報処理装置101から印刷データが送信された場合は、IPPによる通信数が「5」となってしまう。その結果、通信数が上限に達してしまい印刷データが終了するまで他の装置が状態情報取得要求を実行できなくなるおそれがある。そのため、印刷装置151は、ステータスを無視して送信された印刷データの通信を早期に終わらせる必要がある。よって、CPU154は、IPPによる通信数が「4」の状態で情報処理装置101から送信された印刷データに対して読み捨て処理(受信したデータを解析せずに即時破棄することで受信処理を高速化する)を行う。そして、早期に当該通信を終わらせることで通信を切断し、IPPによる通信数を「4」に戻すことができる。なお、S310の処理を、切断処理と呼ぶこともある。
なお、CPU154は、印刷データの印刷処理が完了することでIPPの接続を解放する。そして、IPPの接続を解放し、並行してIPPを接続可能な通信数の残りが2つ以上となった時点(本実施形態では、通信数が「3」となった時点)で、CPU154は、状態取得要求に対する応答として「印刷ジョブ受付可」を通知する。
続いて、S305において超えていないと判定された場合、CPU154は、印刷要求を受け付け可能か否か判定する(S306)。具体的には、CPU154は、他の印刷ジョブの処理中であるか判定し、他の印刷ジョブの処理中であればS306において印刷要求を受け付け否と判定する。また、CPU154は、印刷装置151においてエラーが発生している際もS306において印刷要求を受け付け否と判定する。
S306において受け付け否と判定された場合、CPU154は、Keep−alive通信でIPP接続を維持する(S307)。なお、Keep−alive通信でIPP接続が維持されている最中は、CPU154は情報処理装置101から印刷データを受信しない。
一方、S306において受け付け可能と判定した場合、CPU154は情報処理装置101から印刷データを受信し(S308)、印刷データに基づく印刷処理を実行する(S309)。なお、S306において受け付け不可の状態から受け付け可能へと状態が変更された場合、CPU154は、情報処理装置101へKeep−Alive(ACK)を通知する。情報処理装置101は、このKeep−Alive(ACK)を受けることで印刷データを送信する。
続いて、S303Bの処理について図5を用いて説明する。S303においてPort9100であると判定された場合、CPU154は、S311−S314を実行する。なお、S311−S314の処理は、上述したS306−S309と同じであるため詳細な説明は省略する。
続いて、S303Cの処理について図6を用いて説明する。S303においてWSDであると判定された場合、CPU154は、S315−S318を実行する。なお、S315、S317−S318は、S306、S308−S309と同じであるため詳細な説明は省略する。CPU154は、S315において受け付け否と判定した場合、情報処理装置101に印刷要求を受けられない旨を通知する(S316)。WSDプロトコルが使用される場合、印刷要求を受けられない旨を受けた情報処理装置101は、オペレーティングシステム(OS)制御による印刷要求リトライを実行する。そして、OSによる印刷要求リトライによりマルチセッションが実現されるため、印刷装置151は、Keep−Alive通信ではなく、情報処理装置101に印刷要求を受けられない旨を通知する。
続いて、S304の処理について図7を用いて説明する。上述したように、CPU154は、IPPにおける印刷要求上限(本実施形態では、「4」)がマルチセッションにおける通信数上限(本実施形態では、「5」)よりも少なくなるように印刷要求を管理している。そのため、IPPにおける通信数に空きが作られている。よって、CPU154は、その空いている1つの接続を利用して情報取得要求を受け付け、印刷装置151の状態を情報処理装置に通知する。
以下、詳細に説明する。CPU154は、状態取得要求を受信すると(S319)、現段階の印刷要求の通信数をカウントし、カウント結果が印刷要求の上限以上か否かを判定する(S320)。本実施形態に沿って説明すると、CPU154は、現在の印刷要求の通信数が「4」であれば上限以上と判定し、現在の印刷要求の通信数が「4未満」であれば上限未満と判定する。上限以上と判定された場合、CPU154は、印刷要求受け付け否を状態取得要求元の装置へ応答する(S322)。一方、上限未満と判定された場合、CPU154は、ジョブ受け付け可を状態取得要求元の装置へ応答する(S322)。つまり、図7の判定を行っている段階で印刷要求の通信数が「4」であるということは、印刷装置151は、受信した状態取得要求(図2の202に相当)に続いて送信される印刷要求(図2の204に相当)を受けることはできない。よって、S320とS322により、状態取得要求に対する応答としてジョブ受け付け不可を通知することで、情報処理装置101は無駄に印刷要求を発行するとことがなくなる。なお、印刷装置151が、状態取得要求に対してS321またはS322において応答を通知することで、状態取得要求の通信が完了し、通信数が1つ減ることになる。つまり、印刷装置151が、通信数が「4」の状態で状態取得要求を受信した場合、通信数が「5」となった状態で状態取得要求に対する応答を通知する。この応答の通知処理が完了すると通信が完了するため、印刷装置151の通信数は1つ減り、「4」に戻る。
ここで、プロトコルがIPPと判定された場合の処理(S303−S308)をさらに図8を使って説明する。なお、本実施形態の印刷装置151においてIPPを並行して接続可能な上限数を「5」として説明する。つまり、IPPでの通信数が4となった状態が、IPPを並行して接続できる数の残りが1つになった状態に相当する。
情報処理装置101(PC1)が、ユーザから印刷実行の指示を受けることで印刷装置151に対して状態取得要求を送信する(801−802)。この段階で、印刷装置151は、3つの印刷ジョブを受け付け中である。つまり、IPPを使った通信数が3であるため、情報処理装置101に対して「ジョブ受け付け可能」と通知する(803、図4のS305→306に相当)。
情報処理装置101は、「ジョブ受け付け可能」との通知を受けることで、印刷要求と印刷データを印刷装置151へ送信する(804−805)。印刷装置151は、他の印刷ジョブを処理中であるため印刷要求を受けられないと判定し、Keep−Aliveを情報処理装置101に通知する(806、図4のS306→S307に相当)。
ここで別の情報処理装置(PC2)が、ユーザから印刷実行の指示を受けることで印刷装置151に対して状態取得要求を送信する(807、808)。この段階で、印刷装置151は、4つの印刷ジョブを受け付け中である。つまり、IPPを使った通信数が4である。よって、IPPを並行して接続できる数の残りが1であるため、PC2に対して「ジョブ受け付け不可」と通知する(809、図7のS322に相当)。
PC2は、「ジョブ受け付け不可」との通知を受けることで、受け付け可能となるまで状態取得をリトライする。つまり、PC2は、空いている1つの通信を使用して印刷装置151の状態を取得でき、印刷装置151がネットワーク接続できることを認識している。さらに、PC2は、「ジョブ受け付け不可」を受信することで他の印刷ジョブの処理が終了すれば(またはエラーが回復すれば)、印刷データを送信できると認識できる。よって、PC2は、受け付け可能となるまで状態取得をリトライする。
そして、PC2が、あるタイミングで再度情報取得要求を印刷装置151へ通知する。このタイミングでは他の印刷ジョブのうちの1つの印刷ジョブの処理が完了しているため、IPPを並行して接続できる数の残りが2である。よって、印刷装置151は、ジョブ受け付け可能をPC2に対して通知する(811、図7のS321に相当)。
続いてPC2は、印刷要求と印刷データを印刷装置151へ送信する(812、813)。ここで印刷装置151は、他の印刷ジョブを処理中であるため印刷要求を受けられないと判定し、Keep−AliveをPC2に通知する(図4のS306→S307)。
以上のように印刷装置151は、IPPを使って印刷ジョブを受信する場合、IPPの通信数が上限に達しないように印刷要求の通信数を管理する。つまり、並行して通信できる上限に達する前(通信数が「4」の状態)に状態取得要求に対する応答として印刷ジョブ受け付け不可を通知することで、印刷装置151は、IPPの通信数が上限に達しないように印刷要求の通信数を管理できる。
そのため、印刷装置151は、マルチセッションを実現しながらも、状態取得要求に応答することが可能となる。
さらに、Port9100およびWSDのように印刷要求と同じ接続において状態要求を送信しないプロトコルについては、並行して接続可能な上限に達するまでマルチセッションを許可する。つまり、本実施形態1の例に従えば、通信数が「5」となるまで印刷要求を受け付ける。これは、Port9100およびWSDは印刷要求と同じ接続にて状態取得要求を行わない。つまり、IPPのように状態取得要求用に空きの接続を作る必要がないので、Port9100およびWSDでは、通信数が「5」となるまで印刷要求を受け付けることが可能となる。
(実施形態2)
印刷装置151は、IPPを使用する場合に、NW経路の他にUniversal Serial Bus(USB)経路で疑似的にHTTP通信を行うIPPoverUSB経路からも印刷ジョブを受信できる。実施形態2では、USB接続とNWの通信セッションはそれぞれ独立して同時通信数の上限を管理する方法について説明する。なお、説明が省略されている点については、実施形態1の内容に従って処理が実行される。
実施形態2では、USB経路はひとつのUSB−Deviceポートでひとつの対向機と接続する。印刷装置151は、USB接続において並行して通信可能な通信数として2つ用意する。1つは、印刷データの送信に使用され、1つは状態取得要求に使用される。また実施例2では、USB接続における印刷要求の上限数値を1に設定している。
以下、図9を用いて説明する。なお、図9は、図3のS303においてIPPであると判定された後に実行される。
CPU154は、印刷要求の通信経路がネットワークであるかUSBであるかを判定する(S901)。S901においてネットワークであると判定された場合、上述した図4の処理を実行する。
一方、S901においてUSBであると判定された場合、CPU154は、USB−IPPにおける現段階の通信数をカウントする(S902)。そして、CPU154は、S301において受信した印刷要求に対応する接続を確立することにより、印刷要求の上限数を超えるか否かを判定する(S903)。なお、S903の判定において使用される印刷要求の上限数とは、USB−IPPを並行して接続できる数の残りが1つとなる通信数に対応する。つまり、上述した通り、本実施形態では、USB−IPPの接続上限数が「2」であるので、S903の判定に使用される印刷要求の上限数は「1」となる。よって、本実施形態に従って説明すると、S903においてCPU154は、S301で受信した印刷要求に対応する接続を確立することで印刷要求の上限数「1」を超えるか否かを判定する。
S903において超えないと判定された場合、CPU154は、S904−S907を実行する。一方、S903において超えると判定された場合、CPU154は、S908を実行する。なお、S904−S908は、S306−S310と同じであるため詳細な説明は省略する。
なお、実施形態2では説明を省略しているが、通信プロトコルとしてPort9100またはWSDが使用されている場合は実施形態1と同じ処理が実行される。
本実施形態によればIPPが使用される場合にその接続経路としてネットワークが使用されているかUSBが使用されているかによって、印刷要求の上限値として異なる値で管理している。そのため、それぞれの接続に適したマルチセッションを実行することが可能となる。
本実施形態によればIPPにおいてもネットワークが利用された通信とUSBが利用される通信によって通信数の上限数として異なる値を設定している。そのため、それぞれの形態に合った適切な上限数を管理することが可能となる。
(その他の実施形態)
上述した実施形態1および2では、印刷装置151は、状態取得要求のために1つの通信数が空いている状態となるように通信数を管理しているが、少なくとも1つの通信数が空いていれば良い。そのため、印刷装置151は、状態取得要求のために1つ以上の通信数が空いている状態となるように通信数を管理しても良い。
また実施形態1および2では、状態取得要求のために1つの通信数を空けていたが他の目的のために使われてもよい。
また、印刷装置151によって実施形態1および2の処理を実行するように説明したが、他の装置(例えば、デジタルカメラや、携帯端末、タブレット等)で同様の処理が実行されても良い。
また、S322およびS321では、単に「受け付け不可」、「受け付け」が通知されても良い。
また実施形態1および2では、IPPが使用されている場合に図4または図9を実行すると説明したが、状態取得要求を通知してから印刷要求を通信するプロトコルであれば他のプロトコルが使用される場合に図4が実行されても良い。
なお、上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(CPU、MPU、プロセッサ等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータで連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしてもよい。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしてもよい。
101 情報処理装置
151 通信装置

Claims (16)

  1. 所定のプロトコルにおける複数の通信を並行して維持可能な第1の上限数と、前記第1の上限数よりも少ない第2の上限数が設定された印刷装置であって、
    前記所定のプロトコルにおける通信数が前記第1の上限数未満である場合、情報処理装置と前記所定のプロトコルに従う通信を確立させる確立手段と、
    前記確立された通信を介して前記情報処理装置から情報取得要求を受信し、かつ、前記確立手段によって通信を確立することで通信数が第2の上限数を超える場合、前記確立された通信を介して印刷ジョブを受け付けられない旨を前記情報処理装置に通知する制御手段を備えることを特徴とする印刷装置。
  2. 前記確立手段によって通信を確立することで通信数が第2の上限数を超え、かつ、前記確立された通信を介して前記情報処理装置から印刷データを受信した場合、前記制御手段は、前記情報処理装置との通信を切断させる切断処理を実行することを特徴とする請求項1に記載の印刷装置。
  3. 前記切断処理とは、前記受信した印刷データを解析することなく破棄する処理であることを特徴とする請求項2に記載の印刷装置。
  4. 前記所定のプロトコルに従う通信では、印刷要求の前に状態情報取得要求が実行されることを特徴とする請求項1乃至3のいずれか1項に記載の印刷装置。
  5. 前記確立された通信を介して前記情報処理装置から状態情報取得要求を受信し、かつ、前記確立手段によって通信を確立することで通信数が第2の上限数を超えない場合、前記制御手段は、前記状態情報として印刷ジョブを受け付けられる旨を通知することを特徴とする請求項1乃至4のいずれか1項に記載の印刷装置。
  6. 前記所定のプロトコルとは異なる他のプロトコルに従う通信においては前記第2の上限数が使用されないことを特徴とする請求項1乃至5のいずれか1項に記載の印刷装置。
  7. 前記所定のプロトコルにおけるUniversal Serial Bus(USB)接続のために前記第2の上限数よりも少ない第3の上限数が設定され、
    前記前記所定のプロトコルにおけるUSB接続によって前記情報処理装置と通信される場合、前記第3の上限数が使用され、
    前記前記所定のプロトコルにおけるネットワーク接続によって前記情報処理装置と通信される場合、前記第2の上限数が使用されることを特徴とする請求項1乃至6のいずれか1項に記載の印刷装置。
  8. 前記所定のプロトコルは、Internet Printing Protocolであることを特徴とする請求項1乃至7のいずれか1項に記載の印刷装置。
  9. 所定のプロトコルにおける複数の通信を並行して維持可能な第1の上限数と、前記第1の上限数よりも少ない第2の上限数が設定された印刷装置におけるコンピュータであって、
    前記コンピュータを、
    前記所定のプロトコルにおける通信数が前記第1の上限数未満である場合、情報処理装置と前記所定のプロトコルに従う通信を確立させる確立手段と、
    前記確立された通信を介して前記情報処理装置から情報取得要求を受信し、かつ、前記確立手段によって通信を確立することで通信数が第2の上限数を超える場合、前記確立された通信を介して印刷ジョブを受け付けられない旨を前記情報処理装置に通知する制御手段として機能させるためのプログラム。
  10. 前記確立手段によって通信を確立することで通信数が第2の上限数を超え、かつ、前記確立された通信を介して前記情報処理装置から印刷データを受信した場合、前記制御手段は、前記情報処理装置との通信を切断させる切断処理を実行することを特徴とする請求項9に記載のプログラム。
  11. 前記切断処理とは、前記受信した印刷データを解析することなく破棄する処理であることを特徴とする請求項10に記載のプログラム。
  12. 前記所定のプロトコルに従う通信では、印刷要求の前に状態情報取得要求が実行されることを特徴とする請求項9乃至11のいずれか1項に記載のプログラム。
  13. 前記確立された通信を介して前記情報処理装置から状態情報取得要求を受信し、かつ、前記確立手段によって通信を確立することで通信数が第2の上限数を超えない場合、前記制御手段は、前記状態情報として印刷ジョブを受け付けられる旨を通知することを特徴とする請求項9乃至12のいずれか1項に記載のプログラム。
  14. 前記所定のプロトコルとは異なる他のプロトコルに従う通信においては前記第2の上限数が使用されないことを特徴とする請求項9乃至13のいずれか1項に記載のプログラム。
  15. 前記所定のプロトコルにおけるUniversal Serial Bus(USB)接続のために前記第2の上限数よりも少ない第3の上限数が設定され、
    前記前記所定のプロトコルにおけるUSB接続によって前記情報処理装置と通信される場合、前記第3の上限数が使用され、
    前記前記所定のプロトコルにおけるネットワーク接続によって前記情報処理装置と通信される場合、前記第2の上限数が使用されることを特徴とする請求項9乃至14のいずれか1項に記載のプログラム。
  16. 前記所定のプロトコルは、Internet Printing Protocolであることを特徴とする請求項9乃至15のいずれか1項に記載のプログラム。
JP2017081620A 2017-04-17 2017-04-17 印刷装置およびプログラム Active JP6701116B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017081620A JP6701116B2 (ja) 2017-04-17 2017-04-17 印刷装置およびプログラム
US15/936,153 US10558404B2 (en) 2017-04-17 2018-03-26 Printing apparatus, control method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017081620A JP6701116B2 (ja) 2017-04-17 2017-04-17 印刷装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2018176598A true JP2018176598A (ja) 2018-11-15
JP6701116B2 JP6701116B2 (ja) 2020-05-27

Family

ID=63789993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017081620A Active JP6701116B2 (ja) 2017-04-17 2017-04-17 印刷装置およびプログラム

Country Status (2)

Country Link
US (1) US10558404B2 (ja)
JP (1) JP6701116B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020110991A1 (ja) * 2018-11-30 2020-06-04 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
JP2020095382A (ja) * 2018-12-11 2020-06-18 シチズン時計株式会社 プリンターシステム、プリンター設定方法、プリンター、プリンターの制御プログラム、プリンター設定装置およびプリンター設定装置の制御プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4582203B2 (ja) * 2008-06-06 2010-11-17 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、同装置における通信制御方法及び通信制御プログラム
JP6011167B2 (ja) 2012-09-03 2016-10-19 ブラザー工業株式会社 通信中継プログラム、及び、通信中継装置
JP6119481B2 (ja) * 2013-07-23 2017-04-26 ブラザー工業株式会社 機能実行装置
JP6281222B2 (ja) * 2013-09-30 2018-02-21 ブラザー工業株式会社 通信機器
JP6044597B2 (ja) * 2014-07-01 2016-12-14 コニカミノルタ株式会社 画像処理システム、中継サーバー及びプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020110991A1 (ja) * 2018-11-30 2020-06-04 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
JP2020087273A (ja) * 2018-11-30 2020-06-04 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
US11221810B2 (en) 2018-11-30 2022-01-11 Brother Kogyo Kabushiki Kaisha Non-transitory computer-readable recording medium, information processing apparatus and printing method
JP7225737B2 (ja) 2018-11-30 2023-02-21 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
JP2020095382A (ja) * 2018-12-11 2020-06-18 シチズン時計株式会社 プリンターシステム、プリンター設定方法、プリンター、プリンターの制御プログラム、プリンター設定装置およびプリンター設定装置の制御プログラム

Also Published As

Publication number Publication date
JP6701116B2 (ja) 2020-05-27
US20180300092A1 (en) 2018-10-18
US10558404B2 (en) 2020-02-11

Similar Documents

Publication Publication Date Title
CN109218552B (zh) 通信装置及其控制方法
JP6415048B2 (ja) 画像形成装置、その制御方法、プログラム、及びシステム
JP6516491B2 (ja) 通信装置、制御方法およびプログラム
JP7596466B2 (ja) 印刷装置とその制御方法、プログラム、記録媒体、システムとその制御方法
JP6755834B2 (ja) システムおよび印刷装置およびサーバシステムおよび制御方法およびプログラム
JP6525771B2 (ja) 情報処理装置、制御方法、およびプログラム
JP6137076B2 (ja) 端末装置、端末装置の制御方法、および端末装置の制御プログラム
US10681748B2 (en) Communication method and communication apparatus
JP6341785B2 (ja) 印刷装置、印刷装置の制御方法及びプログラム
JP2023053961A (ja) システムおよび制御方法
JP2014164420A (ja) 印刷装置、印刷装置の制御方法、及びプログラム
JP6866209B2 (ja) 情報処理装置、制御方法、プログラム
JP2019134443A (ja) 通信装置およびその制御方法
JP2012015812A (ja) 画像形成装置
JP6701116B2 (ja) 印刷装置およびプログラム
US8659782B2 (en) Image forming apparatus using option controller for printing
JP2022085781A (ja) 情報処理装置、制御方法およびプログラム
JP2014115774A (ja) 印刷システム、印刷制御装置、印刷制御装置の制御方法、及びプログラム
JP2024152398A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP7791246B2 (ja) 通信装置、その制御方法、並びにプログラム
JPWO2016139865A1 (ja) 通信システム、通信方法及び画像形成装置
US20240028279A1 (en) Information processing apparatus, method of controlling information processing apparatus, image forming apparatus, method of controlling image forming apparatus, storage medium, and image forming system
CN104754170B (zh) 系统及其控制方法以及网络接口装置及其控制方法
JP2014235679A (ja) サーバ装置、サーバ装置の制御方法、及びプログラム
JP2025163632A (ja) 印刷システム、その制御方法、プログラム及び記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200501

R151 Written notification of patent or utility model registration

Ref document number: 6701116

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151