(57)【要約】      （修正有）【課題】印刷装置の状態を取得することが可能な情報処理装置を提供する。【解決手段】所定のプロトコルにおける複数の通信を並行して維持可能な第１の上限数と、第１の上限数よりも少ない第２の上限数が設定された印刷装置であって、所定のプロトコルにおける通信数が第１の上限数未満である場合、情報処理装置と所定のプロトコルに従う通信を確立させる確立手段と、確立された通信を介して情報処理装置から情報取得要求を受信し、かつ、確立手段によって通信を確立することで通信数が第２の上限数を超える場合、確立された通信を介して印刷ジョブを受け付けられない旨を情報処理装置に通知する制御手段を備える。【選択図】図７
2018176598.tif 000002
【特許請求の範囲】
【請求項１】
所定のプロトコルにおける複数の通信を並行して維持可能な第１の上限数と、前記第１の上限数よりも少ない第２の上限数が設定された印刷装置であって、
前記所定のプロトコルにおける通信数が前記第１の上限数未満である場合、情報処理装置と前記所定のプロトコルに従う通信を確立させる確立手段と、
前記確立された通信を介して前記情報処理装置から情報取得要求を受信し、かつ、前記確立手段によって通信を確立することで通信数が第２の上限数を超える場合、前記確立された通信を介して印刷ジョブを受け付けられない旨を前記情報処理装置に通知する制御手段を備えることを特徴とする印刷装置。
【請求項２】
前記確立手段によって通信を確立することで通信数が第２の上限数を超え、かつ、前記確立された通信を介して前記情報処理装置から印刷データを受信した場合、前記制御手段は、前記情報処理装置との通信を切断させる切断処理を実行することを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記切断処理とは、前記受信した印刷データを解析することなく破棄する処理であることを特徴とする請求項２に記載の印刷装置。
【請求項４】
前記所定のプロトコルに従う通信では、印刷要求の前に状態情報取得要求が実行されることを特徴とする請求項１乃至３のいずれか１項に記載の印刷装置。
【請求項５】
前記確立された通信を介して前記情報処理装置から状態情報取得要求を受信し、かつ、前記確立手段によって通信を確立することで通信数が第２の上限数を超えない場合、前記制御手段は、前記状態情報として印刷ジョブを受け付けられる旨を通知することを特徴とする請求項１乃至４のいずれか１項に記載の印刷装置。
【請求項６】
前記所定のプロトコルとは異なる他のプロトコルに従う通信においては前記第２の上限数が使用されないことを特徴とする請求項１乃至５のいずれか１項に記載の印刷装置。
【請求項７】
前記所定のプロトコルにおけるＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）接続のために前記第２の上限数よりも少ない第３の上限数が設定され、
前記前記所定のプロトコルにおけるＵＳＢ接続によって前記情報処理装置と通信される場合、前記第３の上限数が使用され、
前記前記所定のプロトコルにおけるネットワーク接続によって前記情報処理装置と通信される場合、前記第２の上限数が使用されることを特徴とする請求項１乃至６のいずれか１項に記載の印刷装置。
【請求項８】
前記所定のプロトコルは、Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌであることを特徴とする請求項１乃至７のいずれか１項に記載の印刷装置。
【請求項９】
所定のプロトコルにおける複数の通信を並行して維持可能な第１の上限数と、前記第１の上限数よりも少ない第２の上限数が設定された印刷装置におけるコンピュータであって、
前記コンピュータを、
前記所定のプロトコルにおける通信数が前記第１の上限数未満である場合、情報処理装置と前記所定のプロトコルに従う通信を確立させる確立手段と、
前記確立された通信を介して前記情報処理装置から情報取得要求を受信し、かつ、前記確立手段によって通信を確立することで通信数が第２の上限数を超える場合、前記確立された通信を介して印刷ジョブを受け付けられない旨を前記情報処理装置に通知する制御手段として機能させるためのプログラム。
【請求項１０】
前記確立手段によって通信を確立することで通信数が第２の上限数を超え、かつ、前記確立された通信を介して前記情報処理装置から印刷データを受信した場合、前記制御手段は、前記情報処理装置との通信を切断させる切断処理を実行することを特徴とする請求項９に記載のプログラム。
【請求項１１】
前記切断処理とは、前記受信した印刷データを解析することなく破棄する処理であることを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記所定のプロトコルに従う通信では、印刷要求の前に状態情報取得要求が実行されることを特徴とする請求項９乃至１１のいずれか１項に記載のプログラム。
【請求項１３】
前記確立された通信を介して前記情報処理装置から状態情報取得要求を受信し、かつ、前記確立手段によって通信を確立することで通信数が第２の上限数を超えない場合、前記制御手段は、前記状態情報として印刷ジョブを受け付けられる旨を通知することを特徴とする請求項９乃至１２のいずれか１項に記載のプログラム。
【請求項１４】
前記所定のプロトコルとは異なる他のプロトコルに従う通信においては前記第２の上限数が使用されないことを特徴とする請求項９乃至１３のいずれか１項に記載のプログラム。
【請求項１５】
前記所定のプロトコルにおけるＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）接続のために前記第２の上限数よりも少ない第３の上限数が設定され、
前記前記所定のプロトコルにおけるＵＳＢ接続によって前記情報処理装置と通信される場合、前記第３の上限数が使用され、
前記前記所定のプロトコルにおけるネットワーク接続によって前記情報処理装置と通信される場合、前記第２の上限数が使用されることを特徴とする請求項９乃至１４のいずれか１項に記載のプログラム。
【請求項１６】
前記所定のプロトコルは、Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌであることを特徴とする請求項９乃至１５のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置およびプログラムに関する。
【背景技術】
【０００２】
印刷に使用するプロトコルとしてＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）が知られている。特許文献１には、ＩＰＰを用いて複数の通信を並行して確立することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−４９０２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１には、複数の通信を並行して使用する場合の上限について考慮されていない。そのため、通信数が上限に達した場合は少なくとも１つの通信が完了するまで新規通信を確立できず、情報処理装置が印刷装置の状態を取得できないおそれがあった。
【課題を解決するための手段】
【０００５】
上述のような課題を解決するため、本発明は、所定のプロトコルにおける複数の通信を並行して維持可能な第１の上限数と、前記第１の上限数よりも少ない第２の上限数が設定された印刷装置であって、前記所定のプロトコルにおける通信数が前記第１の上限数未満である場合、情報処理装置と前記所定のプロトコルに従う通信を確立させる確立手段と、前記確立された通信を介して前記情報処理装置から情報取得要求を受信し、かつ、前記確立手段によって通信を確立することで通信数が第２の上限数を超える場合、前記確立された通信を介して印刷ジョブを受け付けられない旨を前記情報処理装置に通知する制御手段を備えることを特徴とする。
【発明の効果】
【０００６】
本発明により、情報処理装置が印刷装置の状態を取得することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態における情報処理装置及び通信装置の構成の図例である。
【図２】マルチセッションを説明するための図である。
【図３】印刷装置において行われる処理の流れを説明する図である。
【図４】印刷装置において行われるＩＰＰ用処理の流れを説明する図である。
【図５】印刷装置において行われるＰｏｒｔ９１００用処理の流れを説明する図である。
【図６】印刷装置において行われるＷＳＤ用処理の流れを説明する図である。
【図７】印刷装置において行われる状態通知処理の流れを説明する図である。
【図８】マルチセッションを説明するための図である。
【図９】印刷装置において行われるＩＰＰ用処理の流れを説明する図である。
【発明を実施するための形態】
【０００８】
以下に図面を参照して、本発明の好適な実施形態を例示的に説明する。ただし、本発明については、その趣旨を逸脱しない範囲で、当業者の通常の知識に基づいて、以下に記載する実施形態に対して適宜変更、改良が加えられたものについても本発明の範囲に入ることが理解されるべきである。
【０００９】
（第１実施形態）
本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。情報処理装置としては、パーソナルコンピュータ、ノートＰＣ等が挙げられる。通信装置として、本実施形態ではプリンタを例示しているが、これに限定されず、情報処理装置と無線通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず複写機やファクシミリ装置、携帯端末、スマートホン、ノートＰＣ、タブレット端末、ＰＤＡ、デジタルカメラ、音楽再生デバイス、テレビ等にも適用可能である。その他、複写機能、ＦＡＸ機能、印刷機能等の複数の機能を備える複合機にも適用可能である。
【００１０】
まず、本実施形態の情報処理装置と、本実施形態の情報処理装置と通信可能な通信装置の構成について図１のブロック図を参照して説明する。また、本実施形態では以下の構成を例に記載するが、本実施形態は通信装置と通信を行うことが可能な装置に関して適用可能なものであり、特にこの図のとおりに機能を限定するものではない。
【００１１】
情報処理装置１０１は、本実施形態の情報処理装置である。情報処理装置１０１は、入力インタフェース１０２、ＣＰＵ１０３、ＲＯＭ１０４、ＲＡＭ１０５、外部記憶装置１０６、出力インタフェース１０７、表示部１０８、通信部１０９、近距離無線通信部１１０等を有する。
【００１２】
入力インタフェース１０２は、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースであり、物理キーボードやボタン、タッチパネル等で構成される。なお、後述の出力インタフェース１０７と入力インタフェース１０２とを同一の構成とし、画面の出力とユーザからの操作の受け付けを同一の構成で行うような形態としても良い。
【００１３】
ＣＰＵ１０３は、システム制御部であり、情報処理装置１０１の全体を制御する。
【００１４】
ＲＯＭ１０４は、ＣＰＵ１０３が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム（以下、ＯＳという。）プログラム等の固定データを格納する。本実施形態では、ＲＯＭ１０４に格納されている各制御プログラムは、ＲＯＭ１０４に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。
【００１５】
ＲＡＭ１０５は、バックアップ電源を必要とするＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。なお、ＲＡＭ１０５は、図示しないデータバックアップ用の１次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、情報処理装置１０１の設定情報や情報処理装置１０１の管理データ等を格納するメモリエリアもＲＡＭ１０５に設けられている。また、ＲＡＭ１０５は、ＣＰＵ１０３の主メモリとワークメモリとしても用いられる。
【００１６】
外部記憶装置１０６は、印刷実行機能を提供するアプリケーション、通信装置１５１が解釈可能な印刷情報を生成する印刷情報生成プログラム等を保存している。また、外部記憶装置１０６は、通信部１０９を介して接続している通信装置１５１との間で送受信する情報送受信制御プログラム等の各種プログラムや、これらのプログラムが使用する各種情報を保存している。
【００１７】
出力インタフェース１０７は、表示部１０８がデータの表示や情報処理装置１０１の状態の通知を行うための制御を行うインタフェースである。
【００１８】
表示部１０８は、ＬＥＤ（発光ダイオード）やＬＣＤ（液晶ディスプレイ）などから構成され、データの表示や情報処理装置１０１の状態の通知を行う。なお、表示部１０８上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキーを備えるソフトキーボードを設置することで、表示部１０８を介してユーザからの入力を受け付けても良い。
【００１９】
通信部１０９は、通信装置１５１等の装置と接続して、データ通信を実行するための構成である。例えば、通信部１０９は、通信装置１５１内のアクセスポイント（不図示）に接続可能である。通信部１０９と通信装置１５１内のアクセスポイントが接続することで、情報処理装置１０１と通信装置１５１は相互に通信可能となる。なお、通信部１０９は無線通信で通信装置１５１とダイレクトに通信しても良いし、情報処理装置１０１や通信装置１５１の外部に存在する外部アクセスポイント（アクセスポイント１３１）を介して通信しても良い。無線通信方式としては、例えば、Ｗｉ−Ｆｉ（ＷｉｒｅｌｅｓｓＦｉｄｅｌｉｔｙ）（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）等が挙げられる。また、アクセスポイント１３１としては、例えば、無線ＬＡＮルーター等の機器などが挙げられる。なお、本実施形態において、情報処理装置１０１と通信装置１５１とが外部アクセスポイントを介さずにダイレクトに接続する方式をダイレクト接続方式という。また、情報処理装置１０１と通信装置１５１とが外部アクセスポイントを介して接続する方式をインフラストラクチャー接続方式という。また、通信部は、有線を用いて接続しても構わない。
【００２０】
近距離無線通信部１１０は、通信装置１５１等の装置と近距離で無線接続して、データ通信を実行するための構成であり、通信部１０９とは異なる通信方式によって通信を行う。近距離無線通信部１１０は、通信装置１５１内の近距離無線通信部１５７と接続可能である。なお、本実施形態では、近距離無線通信部１１０の通信方式として、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）が用いられる。
【００２１】
通信装置１５１は、本実施形態の通信装置である。通信装置１５１は、ＲＯＭ１５２、ＲＡＭ１５３、ＣＰＵ１５４、プリントエンジン１５５、通信部１５６、近距離無線通信部１５７等を有する。
通信部１５６は、通信装置１５１内部のアクセスポイントとして、情報処理装置１０１等の装置と接続するためのアクセスポイントを有している。なお、該アクセスポイントは、情報処理装置１０１の通信部１０９に接続可能である。なお、通信部１５６は無線通信で情報処理装置１０１とダイレクトに通信しても良いし、アクセスポイント１３１を介して通信しても良い。通信方式としては、例えば、Ｗｉ−Ｆｉ（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）等が挙げられる。また、通信部１５６は、アクセスポイントとして機能するハードウェアを備えていてもよいし、アクセスポイントとして機能させるためのソフトウェアにより、アクセスポイントとして動作してもよい。
【００２２】
近距離無線通信部１５７は、情報処理装置１０１等の装置と近距離で無線接続するための構成である。本実施形態では、近距離無線通信部１５７の通信方式として、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）や、Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ（ＮＦＣ）が用いられる。
【００２３】
ＲＡＭ１５３は、バックアップ電源を必要とするＳＲＡＭ等で構成される。なお、ＲＡＭ１５３は、図示しないデータバックアップ用の１次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、通信装置１５１の設定情報や通信装置１５１の管理データ等を格納するメモリエリアもＲＡＭ１５３に設けられている。また、ＲＡＭ１５３は、ＣＰＵ１５４の主メモリとワークメモリとしても用いられ、情報処理装置１０１等から受信した印刷情報を一旦保存するための受信バッファや各種の情報を保存する。
【００２４】
ＲＯＭ１５２は、ＣＰＵ１５４が実行する制御プログラムやデータテーブル、ＯＳプログラム等の固定データを格納する。本実施形態では、ＲＯＭ１５２に格納されている各制御プログラムは、ＲＯＭ１５２に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。
【００２５】
ＣＰＵ１５４は、システム制御部であり、通信装置１５１の全体を制御する。
【００２６】
プリントエンジン１５５、ＲＡＭ１５３に保存された情報や情報処理装置１０１等から受信した印刷ジョブに基づき、インク等の記録剤を用いて紙等の記録媒体上に画像形成し、印刷結果を出力する。この時、情報処理装置１０１等から送信される印刷ジョブは、データ量が大きく、高速な通信が求められるため、近距離無線通信部１５７よりも高速に通信可能な通信部１５６を介して受信する。なお、印刷ジョブは、情報処理装置１０１において動作するアプリケーションにより生成されても良いし、情報処理装置１０１において動作するプリンタドライバにより生成されても良い。
【００２７】
なお、通信装置１５１には、外付けＨＤＤやＳＤカード等のメモリがオプション機器として装着されてもよく、通信装置１５１に保存される情報は、当該メモリに保存されても良い。
【００２８】
また、本実施形態の通信装置は、接続設定処理により接続モードが設定され、設定された接続モードに基づいた接続形態により、情報処理装置と通信を行う。本実施形態の通信装置は、インフラストラクチャー接続により通信を行う場合は、接続モードとしてインフラストラクチャー接続モードが設定され、ダイレクト接続により通信を行う場合は、接続モードとしてダイレクト接続モードが設定される。
【００２９】
ここでは、例として情報処理装置１０１と通信装置１５１との処理分担を上記のように示したが、特にこの分担形態に限らず他の形態であってもよい。なお、以降の説明では、通信装置１５１を印刷装置１５１として説明する。
【００３０】
続いて、本実施形態におけるマルチセッションについて説明する。マルチセッションとは、印刷装置１５１が印刷要求を受け付けることができない状態でネットワーク通信から印刷要求を受信した場合、所定の処理を実行することでユーザからの再印刷操作なしに印刷するための仕組みである。なお、上述した所定の処理の一例は、Ｋｅｅｐ−Ａｌｉｖｅ通信や情報処理装置１０１のオペレーティングシステムによる印刷要求リトライ処理である。
【００３１】
図２を使ってマルチセッションについて説明する。
【００３２】
まず、ユーザが情報処理装置１０１に対して印刷実行を指示する。
【００３３】
続いて情報処理装置１０１は、ユーザから印刷実行を受けることで印刷ジョブを生成し、プリンタに印刷ジョブの開始通知を送信する。さらに、情報処理装置１０１は、印刷装置１５１に対して、印刷装置の状態取得要求を送信する（２０１）。
【００３４】
図２の例では、印刷装置１５１が、他の印刷ジョブを処理中であり、情報処理装置１０１から印刷ジョブを受信しても印刷できない状況ではある。しかし、印刷装置１５１は、マルチセッション機能を実行できるため、ジョブ受け付け可能と返す（２０２）。
【００３５】
情報処理装置１０１は、印刷装置１５１からジョブ受け付け可能との通知を受けることで、印刷要求と印刷データを印刷装置１５１に送信する（２０３−２０４）。ここで、印刷装置１５１は、実際には印刷データに基づく印刷処理を実行できないためＫｅｅｐ−Ａｌｉｖｅを情報処理装置１０１へ通知する（２０５）。情報処理装置１０１は、Ｋｅｅｐ−Ａｌｉｖｅを受信するとＫｅｅｐ−Ａｌｉｖｅ（ＡＣＫ）を受信するまで、印刷データを送信可能か問い合わせる。印刷装置１５１は、印刷可能となるまで、問い合わせに対する応答としてＫｅｅｐ−Ａｌｉｖｅを通知する。そして、印刷装置１５１は、他の印刷ジョブが完了した場合、アイドル状態となり、印刷ジョブを受け付け可能な状態となる。そのため、印刷装置１５１は、情報処理装置１０１に対してＫｅｅｐ−Ａｌｉｖｅ（ＡＣＫ）を通知する（２０６）。情報処理装置１０１は、Ｋｅｅｐ−Ａｌｉｖｅ（ＡＣＫ）を受けることで、待機していた印刷データを印刷装置１５１へ送信する（２０７−２０８）。
【００３６】
以上のようにマルチセッションを使用することで、印刷装置１５１が他の印刷ジョブを処理中であるために印刷ジョブを受けられない場合であっても、自動的に印刷データが送信される。そのため、ユーザが再度の印刷実行を指示する必要がなくなり、操作性を向上することができる。
【００３７】
一方、印刷装置１５１において、プロトコル単位にマルチセッションで並行して維持可能な通信数に上限がある。なお、説明を分かりやすくするために、本実施形態では、プロトコル単位にマルチセッションで並行して維持できる通信数を「５」として説明する。印刷装置１５１が、マルチセッションを使って５つの接続を並行して維持している状況で、ユーザが印刷実行を指示した場合、情報処理装置１０１は印刷装置１５１との接続に失敗する。そして、接続に失敗するため、情報処理装置１０１は、上述した状態取得要求２０１も印刷装置１５１に送信できない。その結果、情報処理装置１０１は、印刷装置１５１の状態を認識できない。そして、情報処理装置１０１は、印刷装置１５１の状態を認識できない場合、例えば印刷装置１５１の電源がＯＦＦであり通信ができない状況にも関わらず、接続処理を無駄に繰り返してしまうおそれがある。一方、例えば印刷装置１５１におけるマルチセッションで並行して維持できる通信数が上限に達している状況であれば、情報処理装置１０１は、接続処理を繰り返すことで接続できる可能性がある。しかし、情報処理装置１０１が、印刷装置の状況を認識できない場合、継続すべき接続処理のリトライを終了してしまうおそれがある。つまり、情報処理装置１０１が、印刷装置１５１の状態を取得できないことにより、利便性が低下するおそれがあった。そのため、本実施形態では、情報処理装置１０１が印刷装置１５１の状態を認識できるように、印刷装置１５１が図３のような方法でマルチセッションの通信数を管理する。
【００３８】
図３は、印刷装置１５１において実行されるフローチャートである。なお、本実施形態では、印刷装置１５１において実行される処理を示すフローチャートの各ステップは、ＣＰＵ１５４がフローチャートに関係するプログラムを読みだして実行することで実現される。
【００３９】
ＣＰＵ１５４は、情報処理装置１０１から要求を受信する（Ｓ３０１）と、要求の内容を解析して印刷要求であるのか状態取得要求であるのかを判定する（Ｓ３０２）。なお、Ｓ３０１の受信処理は、プロトコル単位にマルチセッションで並行して維持できる通信数の上限数未満である場合（通信数が「５」未満である場合）に通信が確立されて、実行される。Ｓ３０２において、情報取得要求と判定された場合、ＣＰＵ１５４は、状態通知処理（Ｓ３０４）を実行する。なお、Ｓ３０４の詳細な説明は、図７にて後述する。Ｓ３０２において、印刷要求と判定された場合、ＣＰＵ１５４は、経路（プロトコル）を判定する（Ｓ３０３）。なお、状態取得要求は、上述した図２の２０１に相当し、印刷要求は、上述した図２の２０３に相当する。また、Ｓ３０３の具体的な処理内容として、ＣＰＵ１５４は、印刷要求に使用された通信ポートを使って判定する。もし同一ポートに複数プロトコルが割り当てられている場合、ＣＰＵ１５４は、印刷要求の送信先であるＵＲＩアドレスを使って判定しても良い。
【００４０】
Ｓ３０３の判別結果がＩＰＰ（実施例においては通信ポート６３１）だった場合、ＣＰＵ１５４の処理は、Ｓ３０３Ａに進む。一方、Ｓ３０３の判別結果がＰｏｒｔ９１００であった場合、ＣＰＵ１５４の処理はＳ３０３Ｂに進み、Ｓ３０３の判別結果がＷＳＤであった場合、ＣＰＵの処理はＳ３０３Ｃに進む。
【００４１】
続いて、Ｓ３０３Ａの処理について図４を用いて説明する。
【００４２】
Ｓ３０３においてＩＰＰであると判定された場合、ＣＰＵ１５４は、ＩＰＰにおける現段階の通信数をカウントし、Ｓ３０１において受信した印刷要求に対応する接続を確立することにより、印刷要求の上限数を超えるか否かを判定する（Ｓ３０５）。なお、Ｓ３０５の判定において使用される印刷要求の上限数とは、ＩＰＰを並行して接続できる数の残りが１つとなる通信数に対応する。つまり、上述した通り、本実施形態では、１つのプロトコルで並行して接続可能な上限数が「５」であるので、Ｓ３０５の判定に使用される印刷要求の上限数は「４」となる。よって、本実施形態に従って説明すると、Ｓ３０５において、ＣＰＵ１５４は、Ｓ３０１で受信した印刷要求に対応する接続を確立することで印刷要求の上限数「４」を超えるか否かを判定する。言い換えれば、Ｓ３０１で受信した印刷要求に対応する接続を確立することにより、ＩＰＰを並行して接続できる数が０となるか否かが判定される。
【００４３】
Ｓ３０５により通信数が印刷要求の上限数を超えないと判定された場合、Ｓ３０６が実行され、Ｓ３０５により通信数が上限を超えると判定された場合、Ｓ３１０が実行される。
【００４４】
ＣＰＵ１５４は、印刷データの終了処理を実行する（Ｓ３１０）。ここでＳ３１０の処理について一例を使って説明する。後述する図７のＳ３２２において「印刷ジョブ受付不可」が通知された場合でも、情報処理装置１０１のステータス取得が遅れるなどの要因で、印刷要求が送られてくる可能性がある。そこでＣＰＵ１５４は、「印刷ジョブ受付不可」の場合、印刷要求にＮＧ応答を通知することで印刷データの送信を防ぐ。それでも情報処理装置１０１がステータスを無視し、セッションを確立し、印刷データを送信してくる場合、印刷装置１５１は、可能な限り早く印刷データの送信セッションを終わらせる。本実施形態では、ＩＰＰによる通信数が「４」の状態で情報処理装置１０１から印刷データが送信された場合は、ＩＰＰによる通信数が「５」となってしまう。その結果、通信数が上限に達してしまい印刷データが終了するまで他の装置が状態情報取得要求を実行できなくなるおそれがある。そのため、印刷装置１５１は、ステータスを無視して送信された印刷データの通信を早期に終わらせる必要がある。よって、ＣＰＵ１５４は、ＩＰＰによる通信数が「４」の状態で情報処理装置１０１から送信された印刷データに対して読み捨て処理（受信したデータを解析せずに即時破棄することで受信処理を高速化する）を行う。そして、早期に当該通信を終わらせることで通信を切断し、ＩＰＰによる通信数を「４」に戻すことができる。なお、Ｓ３１０の処理を、切断処理と呼ぶこともある。
【００４５】
なお、ＣＰＵ１５４は、印刷データの印刷処理が完了することでＩＰＰの接続を解放する。そして、ＩＰＰの接続を解放し、並行してＩＰＰを接続可能な通信数の残りが２つ以上となった時点（本実施形態では、通信数が「３」となった時点）で、ＣＰＵ１５４は、状態取得要求に対する応答として「印刷ジョブ受付可」を通知する。
【００４６】
続いて、Ｓ３０５において超えていないと判定された場合、ＣＰＵ１５４は、印刷要求を受け付け可能か否か判定する（Ｓ３０６）。具体的には、ＣＰＵ１５４は、他の印刷ジョブの処理中であるか判定し、他の印刷ジョブの処理中であればＳ３０６において印刷要求を受け付け否と判定する。また、ＣＰＵ１５４は、印刷装置１５１においてエラーが発生している際もＳ３０６において印刷要求を受け付け否と判定する。
【００４７】
Ｓ３０６において受け付け否と判定された場合、ＣＰＵ１５４は、Ｋｅｅｐ−ａｌｉｖｅ通信でＩＰＰ接続を維持する（Ｓ３０７）。なお、Ｋｅｅｐ−ａｌｉｖｅ通信でＩＰＰ接続が維持されている最中は、ＣＰＵ１５４は情報処理装置１０１から印刷データを受信しない。
【００４８】
一方、Ｓ３０６において受け付け可能と判定した場合、ＣＰＵ１５４は情報処理装置１０１から印刷データを受信し（Ｓ３０８）、印刷データに基づく印刷処理を実行する（Ｓ３０９）。なお、Ｓ３０６において受け付け不可の状態から受け付け可能へと状態が変更された場合、ＣＰＵ１５４は、情報処理装置１０１へＫｅｅｐ−Ａｌｉｖｅ（ＡＣＫ）を通知する。情報処理装置１０１は、このＫｅｅｐ−Ａｌｉｖｅ（ＡＣＫ）を受けることで印刷データを送信する。
【００４９】
続いて、Ｓ３０３Ｂの処理について図５を用いて説明する。Ｓ３０３においてＰｏｒｔ９１００であると判定された場合、ＣＰＵ１５４は、Ｓ３１１−Ｓ３１４を実行する。なお、Ｓ３１１−Ｓ３１４の処理は、上述したＳ３０６−Ｓ３０９と同じであるため詳細な説明は省略する。
【００５０】
続いて、Ｓ３０３Ｃの処理について図６を用いて説明する。Ｓ３０３においてＷＳＤであると判定された場合、ＣＰＵ１５４は、Ｓ３１５−Ｓ３１８を実行する。なお、Ｓ３１５、Ｓ３１７−Ｓ３１８は、Ｓ３０６、Ｓ３０８−Ｓ３０９と同じであるため詳細な説明は省略する。ＣＰＵ１５４は、Ｓ３１５において受け付け否と判定した場合、情報処理装置１０１に印刷要求を受けられない旨を通知する（Ｓ３１６）。ＷＳＤプロトコルが使用される場合、印刷要求を受けられない旨を受けた情報処理装置１０１は、オペレーティングシステム（ＯＳ）制御による印刷要求リトライを実行する。そして、ＯＳによる印刷要求リトライによりマルチセッションが実現されるため、印刷装置１５１は、Ｋｅｅｐ−Ａｌｉｖｅ通信ではなく、情報処理装置１０１に印刷要求を受けられない旨を通知する。
【００５１】
続いて、Ｓ３０４の処理について図７を用いて説明する。上述したように、ＣＰＵ１５４は、ＩＰＰにおける印刷要求上限（本実施形態では、「４」）がマルチセッションにおける通信数上限（本実施形態では、「５」）よりも少なくなるように印刷要求を管理している。そのため、ＩＰＰにおける通信数に空きが作られている。よって、ＣＰＵ１５４は、その空いている１つの接続を利用して情報取得要求を受け付け、印刷装置１５１の状態を情報処理装置に通知する。
【００５２】
以下、詳細に説明する。ＣＰＵ１５４は、状態取得要求を受信すると（Ｓ３１９）、現段階の印刷要求の通信数をカウントし、カウント結果が印刷要求の上限以上か否かを判定する（Ｓ３２０）。本実施形態に沿って説明すると、ＣＰＵ１５４は、現在の印刷要求の通信数が「４」であれば上限以上と判定し、現在の印刷要求の通信数が「４未満」であれば上限未満と判定する。上限以上と判定された場合、ＣＰＵ１５４は、印刷要求受け付け否を状態取得要求元の装置へ応答する（Ｓ３２２）。一方、上限未満と判定された場合、ＣＰＵ１５４は、ジョブ受け付け可を状態取得要求元の装置へ応答する（Ｓ３２２）。つまり、図７の判定を行っている段階で印刷要求の通信数が「４」であるということは、印刷装置１５１は、受信した状態取得要求（図２の２０２に相当）に続いて送信される印刷要求（図２の２０４に相当）を受けることはできない。よって、Ｓ３２０とＳ３２２により、状態取得要求に対する応答としてジョブ受け付け不可を通知することで、情報処理装置１０１は無駄に印刷要求を発行するとことがなくなる。なお、印刷装置１５１が、状態取得要求に対してＳ３２１またはＳ３２２において応答を通知することで、状態取得要求の通信が完了し、通信数が１つ減ることになる。つまり、印刷装置１５１が、通信数が「４」の状態で状態取得要求を受信した場合、通信数が「５」となった状態で状態取得要求に対する応答を通知する。この応答の通知処理が完了すると通信が完了するため、印刷装置１５１の通信数は１つ減り、「４」に戻る。
【００５３】
ここで、プロトコルがＩＰＰと判定された場合の処理（Ｓ３０３−Ｓ３０８）をさらに図８を使って説明する。なお、本実施形態の印刷装置１５１においてＩＰＰを並行して接続可能な上限数を「５」として説明する。つまり、ＩＰＰでの通信数が４となった状態が、ＩＰＰを並行して接続できる数の残りが１つになった状態に相当する。
【００５４】
情報処理装置１０１（ＰＣ１）が、ユーザから印刷実行の指示を受けることで印刷装置１５１に対して状態取得要求を送信する（８０１−８０２）。この段階で、印刷装置１５１は、３つの印刷ジョブを受け付け中である。つまり、ＩＰＰを使った通信数が３であるため、情報処理装置１０１に対して「ジョブ受け付け可能」と通知する（８０３、図４のＳ３０５→３０６に相当）。
【００５５】
情報処理装置１０１は、「ジョブ受け付け可能」との通知を受けることで、印刷要求と印刷データを印刷装置１５１へ送信する（８０４−８０５）。印刷装置１５１は、他の印刷ジョブを処理中であるため印刷要求を受けられないと判定し、Ｋｅｅｐ−Ａｌｉｖｅを情報処理装置１０１に通知する（８０６、図４のＳ３０６→Ｓ３０７に相当）。
【００５６】
ここで別の情報処理装置（ＰＣ２）が、ユーザから印刷実行の指示を受けることで印刷装置１５１に対して状態取得要求を送信する（８０７、８０８）。この段階で、印刷装置１５１は、４つの印刷ジョブを受け付け中である。つまり、ＩＰＰを使った通信数が４である。よって、ＩＰＰを並行して接続できる数の残りが１であるため、ＰＣ２に対して「ジョブ受け付け不可」と通知する（８０９、図７のＳ３２２に相当）。
【００５７】
ＰＣ２は、「ジョブ受け付け不可」との通知を受けることで、受け付け可能となるまで状態取得をリトライする。つまり、ＰＣ２は、空いている１つの通信を使用して印刷装置１５１の状態を取得でき、印刷装置１５１がネットワーク接続できることを認識している。さらに、ＰＣ２は、「ジョブ受け付け不可」を受信することで他の印刷ジョブの処理が終了すれば（またはエラーが回復すれば）、印刷データを送信できると認識できる。よって、ＰＣ２は、受け付け可能となるまで状態取得をリトライする。
【００５８】
そして、ＰＣ２が、あるタイミングで再度情報取得要求を印刷装置１５１へ通知する。このタイミングでは他の印刷ジョブのうちの１つの印刷ジョブの処理が完了しているため、ＩＰＰを並行して接続できる数の残りが２である。よって、印刷装置１５１は、ジョブ受け付け可能をＰＣ２に対して通知する（８１１、図７のＳ３２１に相当）。
【００５９】
続いてＰＣ２は、印刷要求と印刷データを印刷装置１５１へ送信する（８１２、８１３）。ここで印刷装置１５１は、他の印刷ジョブを処理中であるため印刷要求を受けられないと判定し、Ｋｅｅｐ−ＡｌｉｖｅをＰＣ２に通知する（図４のＳ３０６→Ｓ３０７）。
【００６０】
以上のように印刷装置１５１は、ＩＰＰを使って印刷ジョブを受信する場合、ＩＰＰの通信数が上限に達しないように印刷要求の通信数を管理する。つまり、並行して通信できる上限に達する前（通信数が「４」の状態）に状態取得要求に対する応答として印刷ジョブ受け付け不可を通知することで、印刷装置１５１は、ＩＰＰの通信数が上限に達しないように印刷要求の通信数を管理できる。
【００６１】
そのため、印刷装置１５１は、マルチセッションを実現しながらも、状態取得要求に応答することが可能となる。
【００６２】
さらに、Ｐｏｒｔ９１００およびＷＳＤのように印刷要求と同じ接続において状態要求を送信しないプロトコルについては、並行して接続可能な上限に達するまでマルチセッションを許可する。つまり、本実施形態１の例に従えば、通信数が「５」となるまで印刷要求を受け付ける。これは、Ｐｏｒｔ９１００およびＷＳＤは印刷要求と同じ接続にて状態取得要求を行わない。つまり、ＩＰＰのように状態取得要求用に空きの接続を作る必要がないので、Ｐｏｒｔ９１００およびＷＳＤでは、通信数が「５」となるまで印刷要求を受け付けることが可能となる。
【００６３】
（実施形態２）
印刷装置１５１は、ＩＰＰを使用する場合に、ＮＷ経路の他にＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）経路で疑似的にＨＴＴＰ通信を行うＩＰＰｏｖｅｒＵＳＢ経路からも印刷ジョブを受信できる。実施形態２では、ＵＳＢ接続とＮＷの通信セッションはそれぞれ独立して同時通信数の上限を管理する方法について説明する。なお、説明が省略されている点については、実施形態１の内容に従って処理が実行される。
【００６４】
実施形態２では、ＵＳＢ経路はひとつのＵＳＢ−Ｄｅｖｉｃｅポートでひとつの対向機と接続する。印刷装置１５１は、ＵＳＢ接続において並行して通信可能な通信数として２つ用意する。１つは、印刷データの送信に使用され、１つは状態取得要求に使用される。また実施例２では、ＵＳＢ接続における印刷要求の上限数値を１に設定している。
【００６５】
以下、図９を用いて説明する。なお、図９は、図３のＳ３０３においてＩＰＰであると判定された後に実行される。
【００６６】
ＣＰＵ１５４は、印刷要求の通信経路がネットワークであるかＵＳＢであるかを判定する（Ｓ９０１）。Ｓ９０１においてネットワークであると判定された場合、上述した図４の処理を実行する。
【００６７】
一方、Ｓ９０１においてＵＳＢであると判定された場合、ＣＰＵ１５４は、ＵＳＢ−ＩＰＰにおける現段階の通信数をカウントする（Ｓ９０２）。そして、ＣＰＵ１５４は、Ｓ３０１において受信した印刷要求に対応する接続を確立することにより、印刷要求の上限数を超えるか否かを判定する（Ｓ９０３）。なお、Ｓ９０３の判定において使用される印刷要求の上限数とは、ＵＳＢ−ＩＰＰを並行して接続できる数の残りが１つとなる通信数に対応する。つまり、上述した通り、本実施形態では、ＵＳＢ−ＩＰＰの接続上限数が「２」であるので、Ｓ９０３の判定に使用される印刷要求の上限数は「１」となる。よって、本実施形態に従って説明すると、Ｓ９０３においてＣＰＵ１５４は、Ｓ３０１で受信した印刷要求に対応する接続を確立することで印刷要求の上限数「１」を超えるか否かを判定する。
【００６８】
Ｓ９０３において超えないと判定された場合、ＣＰＵ１５４は、Ｓ９０４−Ｓ９０７を実行する。一方、Ｓ９０３において超えると判定された場合、ＣＰＵ１５４は、Ｓ９０８を実行する。なお、Ｓ９０４−Ｓ９０８は、Ｓ３０６−Ｓ３１０と同じであるため詳細な説明は省略する。
【００６９】
なお、実施形態２では説明を省略しているが、通信プロトコルとしてＰｏｒｔ９１００またはＷＳＤが使用されている場合は実施形態１と同じ処理が実行される。
【００７０】
本実施形態によればＩＰＰが使用される場合にその接続経路としてネットワークが使用されているかＵＳＢが使用されているかによって、印刷要求の上限値として異なる値で管理している。そのため、それぞれの接続に適したマルチセッションを実行することが可能となる。
【００７１】
本実施形態によればＩＰＰにおいてもネットワークが利用された通信とＵＳＢが利用される通信によって通信数の上限数として異なる値を設定している。そのため、それぞれの形態に合った適切な上限数を管理することが可能となる。
【００７２】
（その他の実施形態）
上述した実施形態１および２では、印刷装置１５１は、状態取得要求のために１つの通信数が空いている状態となるように通信数を管理しているが、少なくとも１つの通信数が空いていれば良い。そのため、印刷装置１５１は、状態取得要求のために１つ以上の通信数が空いている状態となるように通信数を管理しても良い。
【００７３】
また実施形態１および２では、状態取得要求のために１つの通信数を空けていたが他の目的のために使われてもよい。
【００７４】
また、印刷装置１５１によって実施形態１および２の処理を実行するように説明したが、他の装置（例えば、デジタルカメラや、携帯端末、タブレット等）で同様の処理が実行されても良い。
【００７５】
また、Ｓ３２２およびＳ３２１では、単に「受け付け不可」、「受け付け」が通知されても良い。
【００７６】
また実施形態１および２では、ＩＰＰが使用されている場合に図４または図９を実行すると説明したが、状態取得要求を通知してから印刷要求を通信するプロトコルであれば他のプロトコルが使用される場合に図４が実行されても良い。
【００７７】
なお、上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（ＣＰＵ、ＭＰＵ、プロセッサ等）がプログラムを読み出して実行する処理である。また、プログラムは、１つのコンピュータで実行させても、複数のコンピュータで連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をＡＳＩＣ等のハードウェアで実現するようにしてもよい。また、ＣＰＵも１つのＣＰＵで全ての処理を行うものに限らず、複数のＣＰＵが適宜連携をしながら処理を行うものとしてもよい。
【符号の説明】
【００７８】
１０１  情報処理装置
１５１  通信装置
【図１】
2018176598.tif 000003
【図２】
2018176598.tif 000004
【図３】
2018176598.tif 000005
【図４】
2018176598.tif 000006
【図５】
2018176598.tif 000007
【図６】
2018176598.tif 000008
【図７】
2018176598.tif 000009
【図８】
2018176598.tif 000010
【図９】
2018176598.tif 000011