IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

特開2024-1770画像形成装置と画像形成装置のためのコンピュータプログラム
<>
  • 特開-画像形成装置と画像形成装置のためのコンピュータプログラム 図1
  • 特開-画像形成装置と画像形成装置のためのコンピュータプログラム 図2
  • 特開-画像形成装置と画像形成装置のためのコンピュータプログラム 図3
  • 特開-画像形成装置と画像形成装置のためのコンピュータプログラム 図4
  • 特開-画像形成装置と画像形成装置のためのコンピュータプログラム 図5
  • 特開-画像形成装置と画像形成装置のためのコンピュータプログラム 図6
  • 特開-画像形成装置と画像形成装置のためのコンピュータプログラム 図7
  • 特開-画像形成装置と画像形成装置のためのコンピュータプログラム 図8
  • 特開-画像形成装置と画像形成装置のためのコンピュータプログラム 図9
  • 特開-画像形成装置と画像形成装置のためのコンピュータプログラム 図10
  • 特開-画像形成装置と画像形成装置のためのコンピュータプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024001770
(43)【公開日】2024-01-10
(54)【発明の名称】画像形成装置と画像形成装置のためのコンピュータプログラム
(51)【国際特許分類】
   B41J 29/38 20060101AFI20231227BHJP
   G06F 3/12 20060101ALI20231227BHJP
   H04N 1/00 20060101ALI20231227BHJP
【FI】
B41J29/38 201
G06F3/12 337
G06F3/12 387
G06F3/12 303
H04N1/00 127A
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022100640
(22)【出願日】2022-06-22
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】宇野 暁仁
【テーマコード(参考)】
2C061
5C062
【Fターム(参考)】
2C061AP01
2C061AQ05
2C061AQ06
2C061AR01
2C061AS02
2C061HJ08
2C061HK05
2C061HN05
2C061HN08
2C061HN15
2C061HN22
2C061HP01
2C061HQ06
2C061HQ17
5C062AA02
5C062AA05
5C062AA13
5C062AA29
5C062AB20
5C062AB22
5C062AB33
5C062AB38
5C062AC02
5C062AC04
5C062AC34
5C062AC58
5C062AE03
5C062AE07
5C062AE15
5C062AF00
(57)【要約】
【課題】画像形成装置が画像形成を迅速に停止することが可能な技術を提供すること。
【解決手段】画像形成装置は、問合要求をサーバに繰り返し送信し、サーバからジョブ実行応答を受信する場合に、画像形成エンジンを制御して画像形成を開始する。画像形成装置は、サーバからジョブ実行応答を受信する場合に、サーバプッシュ型の接続をサーバと確立する。サーバは、端末装置からジョブ停止指示を受信する場合に、画像形成装置から問合要求を受信しなくても、接続を利用して、画像形成停止コマンドを画像形成装置に送信する。画像形成装置は、サーバからジョブ停止応答を受信する場合に、画像形成を停止する。
【選択図】図5
【特許請求の範囲】
【請求項1】
画像形成装置であって、
画像形成エンジンと、
問合要求をサーバに繰り返し送信する送信部であって、前記サーバは、端末装置からジョブ実行指示を受信する場合に、前記画像形成装置から受信される前記問合要求に応じて、ジョブを実行すべきことを示すジョブ実行応答を前記画像形成装置に送信する、前記送信部と、
前記サーバから前記ジョブ実行応答が受信される場合に、前記画像形成エンジンを制御して画像形成を開始する画像形成制御部と、
前記サーバから前記ジョブ実行応答が受信される場合に、サーバプッシュ型の接続を前記サーバと確立する確立部であって、前記サーバは、前記端末装置からジョブ停止指示を受信する場合に、前記画像形成装置から前記問合要求を受信しなくても、前記接続を利用して、画像形成停止コマンドを前記画像形成装置に送信する、前記確立部と、を備え、
前記サーバから前記画像形成停止コマンドが受信される場合に、前記画像形成は停止される、画像形成装置。
【請求項2】
前記画像形成装置は、さらに、
前記画像形成が完了する場合に、前記接続を切断する切断部を備える、請求項1に記載の画像形成装置。
【請求項3】
前記画像形成装置は、さらに、
前記サーバから前記画像形成停止コマンドが受信される場合に、前記接続を切断する切断部を備える、請求項1に記載の画像形成装置。
【請求項4】
前記画像形成装置は、さらに、
ユーザによって操作される操作部と、
前記操作部において、前記画像形成を停止するための停止操作が実行される場合に、前記接続を切断する切断部と、を備え、
前記操作部において前記停止操作が実行される場合に、前記サーバから前記画像形成停止コマンドが受信されなくても、前記画像形成は停止される、請求項1に記載の画像形成装置。
【請求項5】
前記画像形成装置は、さらに、
前記画像形成が開始された後に、前記画像形成エンジンにおいてエラーが発生する場合に、前記接続を切断する切断部を備える、請求項1に記載の画像形成装置。
【請求項6】
前記画像形成装置は、さらに、
前記画像形成エンジンにおいて前記エラーが発生した後に、前記エラーが解消する場合に、前記接続を再確立する再確立部を備える、請求項5に記載の画像形成装置。
【請求項7】
前記画像形成装置は、さらに、
前記サーバから前記ジョブ実行応答が受信される場合に、前記画像形成装置がプロキシ環境であるのか非プロキシ環境であるのかを判断する判断部であって、前記プロキシ環境は、プロキシサーバを利用して前記サーバとの通信を実行するための環境であり、前記非プロキシ環境は、前記プロキシサーバを利用せずに前記サーバとの通信を実行するための環境である、前記判断部を備え、
前記確立部は、
前記画像形成装置が前記プロキシ環境にあると判断される場合に、前記接続を確立せず、
前記画像形成装置が前記非プロキシ環境にあると判断される場合に、前記接続を確立する、請求項1に記載の画像形成装置。
【請求項8】
前記送信部は、前記サーバから前記ジョブ実行応答が受信される場合に、前記問合要求を前記サーバに繰り返し送信することを停止する、請求項1に記載の画像形成装置。
【請求項9】
前記送信部は、前記接続が切断される場合に、前記問合要求を前記サーバに繰り返し送信することを再開する、請求項8に記載の画像形成装置。
【請求項10】
前記送信部は、前記サーバから前記ジョブ実行応答が受信される場合に、前記問合要求を前記サーバに繰り返し送信することを継続する、請求項1に記載の画像形成装置。
【請求項11】
前記画像形成エンジンは、印刷エンジンであり、
前記画像形成は、印刷媒体への画像の印刷である、請求項1に記載の画像形成装置。
【請求項12】
前記ジョブ停止指示は、前記ジョブをキャンセルするための指示であり、
前記画像形成停止コマンドは、前記画像形成をキャンセルするためのコマンドである、請求項1に記載の画像形成装置。
【請求項13】
画像形成装置のためのコンピュータプログラムであって、
前記画像形成装置のコンピュータを、以下の各部、即ち、
問合要求をサーバに繰り返し送信する送信部であって、前記サーバは、端末装置からジョブ実行指示を受信する場合に、前記画像形成装置から受信される前記問合要求に応じて、ジョブを実行すべきことを示すジョブ実行応答を前記画像形成装置に送信する、前記送信部と、
前記サーバから前記ジョブ実行応答が受信される場合に、前記画像形成装置の画像形成エンジンを制御して画像形成を開始する画像形成制御部と、
前記サーバから前記ジョブ実行応答が受信される場合に、サーバプッシュ型の接続を前記サーバと確立する確立部であって、前記サーバは、前記端末装置からジョブ停止指示を受信する場合に、前記画像形成装置から前記問合要求を受信しなくても、前記接続を利用して、画像形成停止コマンドを前記画像形成装置に送信する、前記確立部と、
として機能させ、
前記サーバから前記画像形成停止コマンドが受信される場合に、前記画像形成は停止される、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書では、サーバからジョブ実行応答を受信することに応じて画像形成を実行する画像形成装置に関する技術を開示する。
【背景技術】
【0002】
特許文献1には、画像形成装置とクラウドプリントサーバとクライアント端末とを備えるシステムが開示されている。画像形成装置は、イベント確認要求をクラウドプリントサーバに繰り返し送信する。クラウドプリントサーバは、クライアント端末から印刷ジョブ送信コマンドを受信すると、イベント確認要求に応じて、印刷ジョブが存在することを示すイベント確認応答を画像形成装置に送信する。これにより、画像形成装置は、印刷ジョブを実行する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-192730号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の技術では、クラウドプリントサーバがクライアント端末から印刷ジョブの実行を停止するためのコマンドを受信することについて、何ら考慮されていない。本明細書では、画像形成装置が画像形成を迅速に停止することが可能な技術を提供する。
【0005】
本明細書によって開示される画像形成装置は、画像形成エンジンと、問合要求をサーバに繰り返し送信する送信部であって、前記サーバは、端末装置からジョブ実行指示を受信する場合に、前記画像形成装置から受信される前記問合要求に応じて、ジョブを実行すべきことを示すジョブ実行応答を前記画像形成装置に送信する、前記送信部と、前記サーバから前記ジョブ実行応答が受信される場合に、前記画像形成エンジンを制御して画像形成を開始する画像形成制御部と、前記サーバから前記ジョブ実行応答が受信される場合に、サーバプッシュ型の接続を前記サーバと確立する確立部であって、前記サーバは、前記端末装置からジョブ停止指示を受信する場合に、前記画像形成装置から前記問合要求を受信しなくても、前記接続を利用して、画像形成停止コマンドを前記画像形成装置に送信する、前記確立部と、を備えてもよく、前記サーバから前記画像形成停止コマンドが受信される場合に、前記画像形成は停止されてもよい。
【0006】
上記の構成によると、画像形成装置は、サーバからジョブ実行応答を受信する場合に、サーバプッシュ型の接続をサーバと確立する。当該接続が確立されるので、サーバは、端末装置からジョブ停止指示を受信する場合に、画像形成装置から問合要求を受信しなくても、当該接続を利用して、画像形成停止コマンドを画像形成装置に送信することができる。従って、画像形成装置は、サーバからジョブ実行応答を受信することに応じて上記の接続を確立しない構成と比べると、サーバから画像形成停止コマンドを迅速に受信することができる。このために、画像形成装置は、画像形成を迅速に停止することができる。
【0007】
上記の画像形成装置を実現するためのコンピュータプログラム、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体、及び、上記の画像形成装置によって実行される方法も新規で有用である。また、上記の画像形成装置と他の装置(例えばサーバ、端末装置等)とを備えるシステムも新規で有用である。
【図面の簡単な説明】
【0008】
図1】通信システムの構成を示す。
図2】登録処理のシーケンス図を示す。
図3】印刷実行処理のフローチャートを示す。
図4】プロキシ環境処理のフローチャートを示す。
図5】非プロキシ環境処理のフローチャートを示す。
図6】ケースA1のシーケンス図を示す。
図7】ケースA2のシーケンス図を示す。
図8】ケースA3のシーケンス図を示す。
図9】ケースA4のシーケンス図を示す。
図10】ケースBのシーケンス図を示す。
図11】第2実施例のシーケンス図を示す。
【発明を実施するための形態】
【0009】
(第1実施例)
(通信システム2の構成;図1
図1に示されるように、通信システム2は、プリンタ10と、携帯端末50と、複数個のアクセスポイント(以下では「AP(Access Pointの略)」と記載する)60,70と、印刷仲介サーバ100と、を備える。プリンタ10は、AP60が親局として動作しているLAN(Local Area Networkの略)62、又は、AP70が親局として動作しているLAN72に選択的に所属することができる。印刷仲介サーバ100は、インターネット6に接続されている。プリンタ10は、LAN62又はLAN72に所属している場合に、AP60又はAP70を介して、印刷仲介サーバ100との通信を実行することができる。変形例では、LAN62及びLAN72は、無線LANの代わりに有線LANであってもよい。携帯端末50は、LAN62又はLAN72に所属している場合に、AP60又は70を介して、プリンタ10及び印刷仲介サーバ100との通信を実行することができる。変形例では、携帯端末50は、3G、4G、5G等のセルラー通信を利用して、印刷仲介サーバ100との通信を実行してもよい。
【0010】
(プリンタ10の構成)
プリンタ10は、印刷機能を実行可能な周辺装置(例えば携帯端末50の周辺装置)である。プリンタ10は、操作部12と、表示部14と、通信インターフェース16と、印刷エンジン18と、制御部30と、を備える。各部12~30は、バス線(符号省略)に接続されている。
【0011】
操作部12は、複数個のボタンを備える。表示部14は、様々な情報を表示するためのディスプレイである。表示部14は、いわゆるタッチパネル(即ちユーザによって操作される操作部)としても機能する。通信インターフェース16は、LAN62又はLAN72に接続するためのインターフェースである。印刷エンジン18は、インクジェット方式、レーザ方式等の印刷機構である。
【0012】
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に記憶されているプログラム36に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ34は、上記のプログラム36の他に、プロキシ設定を記憶する。
【0013】
プロキシ設定は、プロキシサーバ71を利用することを示す「有効」と、プロキシサーバ71を利用しないことを示す「無効」と、のどちらかの値を示すフラグ情報を含む。プロキシ設定は、さらに、プロキシサーバ71を利用するための複数個の設定値を含み得る。複数個の設定値は、プロキシサーバ71のIPアドレスと、プロキシサーバ71との通信に利用されるポート番号と、ユーザ名と、パスワードと、を含む。フラグ情報及び各設定値は、ユーザによってプリンタ10に入力されることに応じて、メモリ34内に記憶される。
【0014】
(AP60,70の構成)
各AP60,70は、DHCP(Dynamic Host Configuration Protocolの略)サーバ機能を有する。そのため、AP60、AP70は、それぞれ、LAN62、LAN72に所属するデバイスにIPアドレスを割り当てることができる。AP70によって形成されるLAN72には、さらに、プロキシサーバ71が設けられている。
【0015】
(携帯端末50の構成)
携帯端末50は、例えば、携帯電話、スマートフォン、PDA、タブレットPC等の可搬型の端末装置である。なお、変形例では、携帯端末50に代えて、据置型のPC、ノートPC等が利用されてもよい。以下では、携帯端末50のことを「端末50」と記載する。
【0016】
(印刷仲介サーバ100の構成)
印刷仲介サーバ100は、いわゆるクラウド印刷サービスを提供するサーバである。印刷仲介サーバ100は、本実施例では、プリンタ10のベンダによって設置されるサーバではなく、クラウド印刷サービスを提供する事業者によって設置されるサーバである。変形例では、印刷仲介サーバ100は、プリンタ10のベンダによって設置されるサーバであってもよい。印刷仲介サーバ100は、例えば端末50から受信される画像データを変換して印刷データを生成し、当該印刷データをプリンタ10に送信する。以下では、印刷仲介サーバ100のことを「サーバ100」と記載する。
【0017】
(登録処理:図2
図2を参照して、プリンタ10がサーバ100からクラウド印刷サービスを受けるために、プリンタ10に関する情報をサーバ100に登録するための処理を説明する。図2の初期状態では、プリンタ10及び端末50は、同じLAN(即ちLAN62又はLAN72)に所属している。プリンタ10がLAN62に所属している場合には、プリンタ10は、AP60を利用して、端末50及びサーバ100との通信を実行する。また、プリンタ10がLAN72に所属している場合には、プリンタ10は、AP70を利用して、端末50との通信を実行し、プロキシサーバ71をさらに利用して、サーバ100との通信を実行する。しかしながら、図2では、AP60、AP70、及び、プロキシサーバ71を図示省略している。下記の図6以降のシーケンス図でも、これらのデバイスを図示省略する。
【0018】
以下では、プリンタ10のCPU32がプログラム36に従って実行する処理を説明する際に、CPU32を主体として記載するのではなく、プリンタ10を主体として記載する。また、プリンタ10によって実行される以下の全ての通信は、通信インターフェース16を介して実行される。従って、以下では、通信に関する処理を説明する際に、「通信インターフェース16を介して」という記載を省略する。
【0019】
端末50は、ユーザからの操作(図示省略)を受け付けることに応じて、例えばプリンタ10内のウェブサーバにアクセスする。そして、端末50は、ユーザから、さらに、プリンタ10がクラウド印刷サービスを受けるための操作を受け付けることに応じて、T10において、登録指示をプリンタ10に送信する。
【0020】
プリンタ10は、T10において、端末50から登録指示を受信すると、T12において、プリンタ10を識別する情報であるプリンタIDを含む登録要求をサーバ100に送信する。
【0021】
サーバ100は、T12において、プリンタ10から登録要求を受信すると、T14において、PINコードを生成して、登録要求に含まれるプリンタIDと生成済みのPINコードとを対応付けて記憶する。次いで、サーバ100は、T20において、PINコードとログイン用URL(Uniform Resource Locatorの略)とをプリンタ10に送信する。ログイン用URLは、サーバ100内の後述の認証画面データの位置を示す情報である。
【0022】
プリンタ10は、T20において、サーバ100からPINコードとURLとを受信すると、T22において、それらを端末50に送信する。
【0023】
端末50は、T22において、プリンタ10からPINコードとURLとを受信すると、T30において、それらを表示する。次いで、端末50は、T32において、ユーザからURLを選択する操作を受け付けると、T40において、URLを含む認証要求をサーバ100に送信する。
【0024】
サーバ100は、T40において、端末50から認証要求を受信すると、T42において、認証要求に含まれるURLによって特定される認証画面データを端末50に送信する。認証画面データは、PINコードを入力するための認証画面を表わすデータである。
【0025】
端末50は、T42において、サーバ100から認証画面データを受信すると、T44において、認証画面データによって表わされる認証画面を表示する。次いで、端末50は、T46において、ユーザから、T30で表示されたPINコードの入力を受け付ける。この場合、端末50は、T50において、入力済みのPINコードをサーバ100に送信する。
【0026】
サーバ100は、T50において、端末50からPINコードを受信すると、T52において、受信済みのPINコードの認証を実行する。具体的には、サーバ100は、受信済みのPINコードを記憶済みであるのか否かを判断する。サーバ100は、受信済みのPINコードを記憶済みであると判断する場合、即ち、認証が成功する場合には、T54において、ユニークな文字列であるアクセストークン(以下ではAT(Access Tokenの略)と記載する)を生成する。次いで、サーバ100は、T56において、受信済みのPINコードに対応付けられているプリンタID(T14参照)を特定し、特定済みのプリンタIDと生成済みのATとを対応付けて記憶する。そして、サーバ100は、T60において、生成済みのATを含む認証通知をプリンタ10に送信する。
【0027】
プリンタ10は、T60において、サーバ100から認証通知を受信すると、T62において、認証通知に含まれるATをメモリ34に記憶させる。次いで、プリンタ10は、T70において、Create-Printer-Subscripions(以下では「CPS」と記載する)をサーバ100に送信する。CPSは、Subscripionsとして新たなイベントをサーバ100に登録するためのコマンドである。CPSは、プリンタIDと、T62で記憶済みのATと、job-Fetchableと、job-state-changedと、を含む。job-Fetchableは、印刷指示の受信の監視と、印刷指示が受信された旨のプリンタ10への通知と、をサーバ100に実行させるためのコマンドである。job-state-changedは、印刷ジョブのステータス変化の監視と、印刷ジョブのステータス変化があった旨のプリンタ10への通知と、をサーバ100に実行させるためのコマンドである。
【0028】
サーバ100は、T70において、プリンタ10からCPSを受信すると、CPSに含まれるATの認証を実行する。サーバ100は、認証が成功すると、T72において、CPSに含まれるプリンタIDに対応付けて、job-Fetchableとjob-state-changedとを記憶する。これにより、サーバ100は、プリンタ10のプリンタIDを含む印刷指示を受信することに応じて、その旨をプリンタ10に通知し、プリンタ10のプリンタIDを含むジョブ変更指示(例えばキャンセル指示)を受信することに応じて、その旨をプリンタ10に通知する。これにより、登録処理が終了する。
【0029】
(印刷実行処理:図3
次いで、図3を参照して、プリンタ10のCPU32によって実行される印刷実行処理を説明する。図3の処理は、登録処理が終了することをトリガとして開始される。また、図3の処理は、登録処理が終了した後にプリンタ10の電源がOFFされ、その後、プリンタ10の電源がONされることをトリガとして開始される。
【0030】
S2では、プリンタ10は、Polling Mode(以下「PM」と記載する)で動作を開始する。PMは、ポーリング信号をサーバ100に繰り返し送信して、サーバ100から印刷データを受信するためのモードである。プリンタ10は、PMで動作を開始すると、Get-Notification(Polling Mode)Request(以下では「GN(PM)Req」と記載する)をサーバ100に送信する。GN(PM)Reqが上記のポーリング信号に相当する。なお、GN(PM)Reqは、プリンタ10のプリンタIDを含む。後述のGet-Notification(Polling Mode)Response(以下では「GN(PM)Res」と記載する)も同様である。
【0031】
S4では、プリンタ10は、サーバ100からGN(PM)Resを受信することを監視する。プリンタ10は、サーバ100からGN(PM)Resを受信する場合に、S4でYESと判断してS6に進む。
【0032】
S6では、プリンタ10は、GN(PM)ResがJobIDを含むのか否かを判断する。プリンタ10は、GN(PM)ResがJobIDを含むと判断する場合(S6でYES)に、S8に進む。プリンタ10は、GN(PM)ResがJobIDを含まないと判断する場合(S6でNO)に、S4に戻る。GN(PM)Resは、次のGN(PM)Reqを送信するまでの間隔を示す間隔情報を含む。本実施例では、当該間隔情報は、30s(sは秒(seconds)の略)を示す。変形例では、間隔情報は、30sより大きい間隔を示してもよいし、30sより小さい間隔を示してもよい。プリンタ10は、GN(PM)ResがJobIDを含まないと判断する場合(S6でNO)に、GN(PM)Resに含まれる間隔情報によって示される30sが経過する際に、GN(PM)Reqをサーバ100に送信する。そして、プリンタ10は、S4において、サーバ100からGN(PM)Resを受信することを監視する。
【0033】
S8では、プリンタ10は、サーバ100との様々な通信を実行して、サーバ100から、GN(PM)Resに含まれるJobIDによって識別される印刷データを受信する。
【0034】
S10では、プリンタ10は、受信済みの印刷データを利用して、印刷を開始する。具体的には、プリンタ10(即ちCPU32)は、印刷データを印刷エンジン18に供給して、印刷データに従った印刷を開始する。
【0035】
S12では、プリンタ10は、プリンタ10がプロキシ環境にあるのか非プロキシ環境にあるのかを判断する。プロキシ環境は、プリンタ10が、プロキシサーバ71を利用して、インターネット6上のデバイスとの通信を実行する環境(即ちLAN72に所属している状況)である。非プロキシ環境は、プリンタ10が、プロキシサーバ71を利用せずに、インターネット6上のデバイスとの通信を実行する環境(即ちLAN62に所属している状況)である。
【0036】
プリンタ10は、メモリ34内のプロキシ設定に含まれるフラグ情報が「有効」を示し、かつ、プロキシ設定として各設定値(IPアドレス、ポート番号等)が記憶されている場合に、プリンタ10がプロキシ環境にあると判断する(S12でYES)。
【0037】
一方、プリンタ10は、フラグ情報が「無効」を示す場合、又は、フラグ情報が「有効」を示すが各設定値が記憶されていない場合には、WPAD(Web Proxy Auto-Discovery Protocolの略)ファイルのURLがメモリ34に記憶されているのか否かを判断する。プリンタ10は、WPADファイルがメモリ34に記憶されている場合に、プリンタ10がプロキシ環境にあると判断し(S12でYES)、WPADファイルがメモリ34に記憶されていない場合に、プリンタ10が非プロキシ環境にあると判断する(S12でNO)。
【0038】
WPADについて説明する。プリンタ10は、LAN62又はLAN72に所属する際に、IPアドレスの割り当てをAP60又はAP70に要求する。AP60又はAP70は、DHCPサーバ機能を有するので、IPアドレスをプリンタ10に自動的に割り当てる。AP70は、LAN72にプロキシサーバ71が存在する場合には、IPアドレスをプリンタ10に割り当てる際に、WPADファイルのURLもプリンタ10に送信する。WPADファイルは、プロキシサーバ71に関する情報を示すファイルである。従って、プリンタ10は、AP71からWPADファイルのURLを受信する場合には、プロキシサーバ71がLAN72に存在する、即ち、プリンタ10がプロキシ環境にある、と判断することができる。
【0039】
プリンタ10は、上記の処理に基づいて、プリンタ10がプロキシ環境にあると判断する場合(S12でYES)に、S20に進み、プリンタ10が非プロキシ環境にあると判断する場合(S12でNO)に、S30に進む。
【0040】
S20では、プリンタ10は、プロキシ環境処理(図4参照)を実行する。S20の処理が終了すると、プリンタ10は、S4に戻る。
【0041】
S30では、プリンタ10は、非プロキシ環境処理(図5参照)を実行する。S30の処理が終了すると、プリンタ10は、S2に戻る。
【0042】
(プロキシ環境処理:図4
図4を参照して、図3のS20のプロキシ環境処理について説明する。プロキシ環境処理では、プリンタ10は、Event Wait Mode(以下では「EWM」と記載する)で動作せずに、PMを維持する。即ち、プリンタ10は、GN(PM)Reqを定期的(本実施例で30秒間隔)にサーバ100に送信する。
【0043】
S40では、プリンタ10は、サーバ100からGN(PM)Resを受信することを監視する。プリンタ10は、GN(PM)Resを受信する場合に、S40でYESと判断して、S50に進む。
【0044】
S42では、プリンタ10は、ユーザからキャンセル操作を受け付けることを監視する。当該キャンセル操作は、操作部12を構成するボタンに対する操作であってもよいし、タッチパネルとして機能する表示部14に対する操作であってもよい。プリンタ10は、ユーザからキャンセル操作を受け付ける場合に、S42でYESと判断して、S52に進む。
【0045】
S44では、プリンタ10は、図3のS10で開始された印刷が完了することを監視する。プリンタ10は、印刷エンジン18から、印刷が完了したことを示す情報を取得する場合に、S44でYESと判断して、図4の処理を終了する。
【0046】
S46では、プリンタ10は、印刷エラーが発生することを監視する。印刷エラーは、例えば、印刷用紙の詰まり、印刷用紙切れ、印刷のための色材の枯渇等である。プリンタ10(即ちCPU32)は、印刷エンジン18から、印刷エラーが発生したことを示す情報を取得する場合に、S46でYESと判断して、S60に進む。
【0047】
S60では、プリンタ10は、印刷エラーが解消することを監視する。プリンタ10(即ちCPU32)は、印刷エンジン18から、印刷エラーが解消したことを示す情報を取得する場合に、S60でYESと判断して、S40~S46の監視処理に戻る。
【0048】
S50では、プリンタ10は、S40で受信済みのGN(PM)Resがキャンセル情報を含むのか否かを判断する。当該キャンセル情報は、ユーザが端末50を操作することに応じて、端末50からサーバ100にキャンセル指示が送信される場合に、サーバ100からプリンタ10に送信される情報である。プリンタ10は、GN(PM)Resがキャンセル情報を含む場合に、S50でYESと判断して、S52に進む。一方、プリンタ10は、GN(PM)Resがキャンセル指示を含まない場合に、S50でNOと判断して、S40~S46の監視処理に戻る。
【0049】
S52では、プリンタ10は、キャンセル処理を実行する。キャンセル処理は、印刷をキャンセルすべきことを示す指示を印刷エンジン18に供給すること、及び、受信済みの印刷データを削除することを含む。これにより、印刷エンジン18において印刷が停止される。S52の処理が終了すると、図4の処理が終了する。
【0050】
(非プロキシ環境処理:図5
図5を参照して、図3のS30の非プロキシ環境処理について説明する。非プロキシ環境処理では、プリンタ10は、PMに代えてEWMで動作する。
【0051】
プリンタ10は、S70において、PMの動作を停止する。即ち、プリンタ10は、GN(PM)Reqの送信を停止する。これにより、プリンタ10がPMとEWMとで並行に動作しないので、処理負荷及び通信負荷が高くなるのを抑制することができる。
【0052】
S72では、プリンタ10は、EWMで動作する。具体的には、プリンタ10は、記憶済みのAT(図2のT62参照)を利用して、HTTP(Hypertext Transfer protocolの略)に従った接続をサーバ100と確立する。当該接続は、いわゆる常時接続と呼ばれるものであり、プリンタ10からサーバ100への信号の送信がなくても、サーバ100からプリンタ10への信号の送信を可能とする接続である。即ち、当該接続は、サーバプッシュ型の通信を実行するための接続である。プリンタ10は、当該接続を確立した後、Get-Notification(Event Wait Mode)Request(以下では「GN(EWM)Req」と記載する)をサーバ100に送信する。GN(EWM)Reqは、端末50からキャンセル指示を受信する際にその旨の通知をプリンタ10に送信すべきことをサーバ100に要求するための信号である。
【0053】
S80では、プリンタ10は、サーバ100からGN(EWM)Resを受信することを監視する。プリンタ10は、GN(EWM)Resを受信する場合に、S80でYESと判断して、S90に進む。
【0054】
S82、S84、S86は、それぞれ、図4のS42、S44、S46と同様である。S82でYESの場合にはS92に進み、S84でYESの場合にはS94に進み、S86でYESの場合にはS100に進む。
【0055】
S90では、プリンタ10は、S50で受信済みのGN(EWM)Resがキャンセル情報を含むのか否かを判断する。プリンタ10は、GN(EWM)Resがキャンセル情報を含む場合に、S90でYESと判断して、S92に進む。一方、プリンタ10は、GN(EWM)Resがキャンセル指示を含まない場合に、S90でNOと判断して、S80~S86の監視処理に戻る。
【0056】
S92では、プリンタ10は、キャンセル処理を実行する。S92は、図4のS562と同様である。これにより、印刷エンジン18において印刷が停止される。
【0057】
S94では、プリンタ10は、S72で確立済みの接続を切断する。S94の処理が終了すると、図5の処理が終了する。この場合、プリンタ10は、図3のS2に戻り、PMで再び動作する。これにより、プリンタ10は、GN(PM)Reqをサーバ100に繰り返し送信することを再開し、サーバ100からGN(PM)Resを受信することができる。
【0058】
このように、本実施例では、プリンタ10は、サーバ100からJobIDを含むGN(PM)Resを受信する場合(S6でYES)に、サーバプッシュ型の接続をサーバ100と確立する(S72)。当該接続が確立されるので、サーバ100は、端末50からキャンセル指示を受信する場合に、プリンタ10からGN(PM)Reqを受信しなくても、当該接続を利用して、キャンセル情報を含むGN(EWM)Resをプリンタ10に送信することができる。従って、プリンタ10は、サーバ100からJobIDを含むGN(PM)Resを受信することに応じて上記の接続を確立しない構成と比べると、サーバ100からキャンセル情報を迅速に受信することができる。このために、プリンタ10は、印刷を迅速に停止することができる。
【0059】
プリンタ10は、GN(EWM)Resがキャンセル情報を含む場合(S90でYES)、キャンセル操作を受け付ける場合(S82でYES)、又は、印刷が完了する場合(S84でYES)に、接続を切断する(S94)。これにより、プリンタ10が接続を維持するための信号をサーバ100に送信せずに済み、この結果、プリンタ10の処理負荷及び通信負荷を低減させることができる。
【0060】
また、S100では、プリンタ10は、S72で確立済みの接続を切断する。印刷エラーが発生している状況では印刷が中断されるので、プリンタ10が印刷を迅速にキャンセルする必要が無い。このような状況において、プリンタ10が接続を切断するので、プリンタ10の処理負荷及び通信負荷を低減させることができる。
【0061】
次いで、S102では、プリンタ10は、PMでの動作を開始する。即ち、プリンタ10は、GN(PM)Reqをサーバ100に定期的に送信する。
【0062】
S104では、プリンタ10は、印刷エラーが解消することを監視する。プリンタ10は、印刷エラーが解消する場合に、S104でYESと判断して、S70に戻る。この場合、プリンタ10は、PMでの動作を停止し(S70)、サーバ100との接続を再び確立する(S72)。これにより、プリンタ10は、印刷エラーが解消して印刷を再開させた後に、サーバ100からキャンセル情報を迅速に受信することができる。
【0063】
なお、本発明者らの研究の結果、プリンタ10がプロキシ環境にある場合にEWMで動作すると、プリンタ10がサーバ100から通知を受信することができない事象が発生する可能性があることが判明した。このため、プリンタ10は、プロキシ環境においてEWMで動作せずに(即ちサーバ100との接続を確立せずに)、PMで動作することを維持する(図4参照)。従って、プリンタ10は、プロキシ環境において、サーバ100から通知(例えばキャンセル情報を含むGN(PM)Res)を適切に受信することができる。一方、プリンタ10は、非プロキシ環境においてEWMで動作する(即ちサーバ100との接続を確立する)(図5参照)。これにより、プリンタ10は、サーバ100から通知(例えばキャンセル情報を含むGN(PM)Res)を迅速に受信することができる。
【0064】
(具体的なケース:図6図10
続いて、図6図10を参照して、図3図5の処理によって実現される具体的なケースを説明する。図6図9の各ケースA1~A4は、プリンタ10がLAN62に所属しているケースである。図6のケースA1は、印刷が正常に完了するケースである。図7のケースA2は、印刷のキャンセル指示が端末50からサーバ100に送信されるケースである。図8のケースA3は、印刷のキャンセル操作がプリンタ10に実行されるケースである。図9のケースA4は、印刷エラーが発生するケースである。図10のケースBは、プリンタ10がLAN72に所属しているケースである。
【0065】
(ケースA1:図6
まず、図6のケースA1を説明する。プリンタ10は、図2の処理が完了すると、PMで動作を開始する(図3のS2)。この場合、プリンタ10は、T100において、プリンタ10のプリンタIDを含むGN(PM)Reqをサーバ100に送信する。
【0066】
サーバ100は、T100において、プリンタ10からGN(PM)Reqを受信すると、GN(PM)Reqに含まれるプリンタIDによって識別されるプリンタ10が実行すべき印刷ジョブが存在するのか否かを判断する。現段階では当該印刷ジョブが存在しないので、サーバ100は、T102において、JobIDを含まないGN(PM)Resをプリンタ10に送信する。
【0067】
プリンタ10は、T102において、サーバ100からGN(PM)Resを受信すると(S4でYES)、当該GN(PM)ResがJobIDを含まないと判断する(S6でNO)。そして、プリンタ10は、当該GN(PM)Resに含まれる間隔情報によって示される30sに亘って待機する。プリンタ10は、30sが経過すると、T104において、GN(PM)Reqをサーバ100に送信し、T106において、サーバ100からJobIDを含まないGN(PM)Resを受信する(S4でYES、S6でNO)。このように、プリンタ10は、サーバ100からJobIDを含まないGN(PM)Resを受信してから30sが経過することに応じてGN(PM)Reqをサーバ100に送信することを繰り返す。このために、プリンタ10は、サーバ100からの指示に応じた間隔でGN(PM)Reqをサーバ100に繰り返し送信することができる。
【0068】
図示省略しているが、端末50は、ユーザから、プリンタ10に印刷を実行させるための印刷操作を受け付ける。当該印刷操作は、プリンタ10のプリンタIDを指定する操作と、印刷対象の画像を表わす画像データを指定する操作と、を含む。端末50は、ユーザから印刷操作を受け付けると、T110において、指定済みのプリンタIDと指定済みの画像データとを含む印刷指示をサーバ100に送信する。
【0069】
サーバ100は、T110において、端末50から印刷指示を受信すると、T112において、印刷ジョブを識別するIDであるJobIDを生成する。サーバ100は、さらに、印刷指示に含まれる画像データを変換して、プリンタ10が解釈可能なデータ形式を有する印刷データを生成する。そして、サーバ100は、印刷指示に含まれるプリンタIDと、生成済みのJobIDと、生成済みの印刷データと、ステータス「印刷中」と、を関連付けて記憶する。
【0070】
その後、サーバ100は、T120において、プリンタ10からGN(PM)Reqを受信すると、当該GN(PM)Reqに含まれるプリンタIDに関連付けてJobID等を記憶しているので(T112参照)、プリンタ10が実行すべき印刷ジョブが存在すると判断する。この場合、サーバ100は、T122において、当該JobIDを含むGN(PM)Resをプリンタ10に送信する。
【0071】
プリンタ10は、T122において、サーバ100からJobIDを含むGN(PM)Resを受信すると(S4でYES、S6でYES)、T130において、当該JobIDを含むFetch-job Requestをサーバ100に送信して、T132において、サーバ100からFetch-job Responseを受信する。Fetch-job Responseは、印刷条件(例えば用紙サイズ、色数、部数等)を示すジョブ情報を含む。
【0072】
プリンタ10は、T134において、Fetch-Document Requestをサーバ100に送信して、T136において、サーバ100からT112で生成された印刷データを含むFetch-Document Responseを受信する(S8)。この場合、プリンタ10(即ちCPU32)は、T138において、印刷エンジン18を制御して(具体的にはジョブ情報及び印刷データを印刷エンジン18に供給して)、ジョブ情報及び印刷データに従った印刷を開始する(S10)。
【0073】
本ケースでは、プリンタ10は、LAN62に所属している。このため、プリンタ10は、T140において、プリンタ10が非プロキシ環境にあると判断する(S12でNO)。このため、プリンタ10は、非プロキシ環境処理(図5参照)を実行する。
【0074】
プリンタ10は、T142において、PMでの動作を停止する(図5のS70)。次いで、プリンタ10は、T150において、サーバ100との接続を確立する(S72)。プリンタ10は、T152において、GN(EWM)Reqをサーバ100に送信する。
【0075】
本ケースA1では、プリンタ10は、サーバ100からキャンセル情報を含むGN(PM)Resを受信することなく(S80でNO)、かつ、ユーザからキャンセル操作を受け付けることなく(S82でNO)、T160において、印刷を完了する(S84でYES)。この場合、プリンタ10は、T162において、印刷完了通知をサーバ100に送信する。これにより、サーバ100において、プリンタIDに関連付けられているジョブID、印刷データ、及び、ステータス「印刷中」が削除される。
【0076】
次いで、プリンタ10は、T170において、T150で確立済みの接続を切断し(S94)、EWMでの動作を終了する。この場合、プリンタ10は、PMでの動作を再び開始し(図3のS2)、T180において、GN(PM)Reqをサーバ100に送信する。
【0077】
(ケースA2:図7
続いて、図7のケースA2を説明する。T200~T252の処理は、図6のT100~T152の処理と同様である。
【0078】
図示省略しているが、端末50は、ユーザから、印刷をキャンセルするためのキャンセル操作を受け付ける。この場合、端末50は、T260において、プリンタ10のプリンタIDを含むキャンセル指示をサーバ100に送信する。
【0079】
サーバ100は、T260において、端末50からキャンセル指示を受信すると、T262において、キャンセル指示に含まれるプリンタIDに関連付けられているJobID(T212参照)を特定し、特定済みのJobIDに関連付けられている印刷データを削除する。そして、サーバ100は、当該プリンタIDと特定済みのJobIDとステータス「キャンセル」とを関連付けて記憶する。
【0080】
ここで、サーバ100は、T252において、プリンタ10からGN(EWM)Reqを受信済みである。このため、サーバ100は、受信済みのGN(EWM)Reqに含まれるプリンタ10のプリンタIDに関連付けられているJobID及びステータス「キャンセル」(T262参照)を特定し、T264において、キャンセル情報を含むGN(EWM)Resをプリンタ10に送信する。
【0081】
プリンタ10は、T264において、サーバ100からキャンセル情報を含むGN(PM)Resを受信すると(図5のS80でYES、S90でYES)、T266において、キャンセル処理を実行する(S92)。これにより、印刷エンジン18において印刷が停止される。その後に実行されるT270及びT280の処理は、図6のT170及びT180の処理と同様である。
【0082】
(ケースA3:図8
続いて、図7のケースA3を説明する。T300~T352の処理は、図6のT100~T152の処理と同様である。
【0083】
プリンタ10は、T360において、ユーザから、印刷をキャンセルするためのキャンセル操作を受け付ける(図5のS82でYES)。この場合、プリンタ10は、キャンセル情報を含むGN(PM)Resを受信しなくても、T362において、キャンセル処理を実行する(S92)。これにより、印刷エンジン18において印刷が停止される。その後に実行されるT370及び3280の処理は、図6のT170及びT180の処理と同様である。
【0084】
(ケースA4:図9
続いて、図9のケースA4を説明する。T400~T452の処理は、図6のT100~T152の処理と同様である。
【0085】
T460において、印刷エンジン18において印刷エラーが発生する(図5のS86でYES)。この場合、プリンタ10は、T470において、サーバ100との接続を切断する(S100)。次いで、プリンタ10は、PMでの動作を開始し(S102)、T480において、GN(PM)Reqをサーバ100に送信し、T482において、サーバ100からGN(PM)Resを受信する。
【0086】
その後、ユーザが印刷エラーを解消させるための作業(例えば印刷用紙の補充)を実行することに応じて、T490において、印刷エラーが解消する(S104でYES)。この場合、プリンタ10は、T492において、PMでの動作を停止し(S70)、T496において、サーバ100との接続を再び確立する(S72)。その後、プリンタ10は、図6のT152~T180と同様の処理を実行する。
【0087】
(ケースB:図10
続いて、図10のケースBを説明する。T500~T538の処理は、図6のT100~T138の処理と同様である。
【0088】
プリンタ10は、T540において、プリンタ10がプロキシ環境であると判断する(図3のS12でYES)。このため、プリンタ10は、プロキシ環境処理(図4参照)を実行し、サーバ100との接続を確立せずに、PMでの動作を維持する。
【0089】
プリンタ10は、T550において、印刷を完了すると(図4のS44でYES)、T552において、印刷完了通知をサーバ100に送信する。プリンタ10は、PMでの動作を継続し、T560において、GN(PM)Reqをサーバ100に送信する。
【0090】
(対応関係)
プリンタ10、印刷エンジン18が、それぞれ、「画像形成装置」、「画像形成エンジン」の一例である。GN(PM)Reqが、「問合要求」の一例である。JobIDを含むGN(PM)Res(図6のT122参照)が、「ジョブ実行応答」の一例である。図6のT110の印刷指示が、「ジョブ実行指示」の一例である。図7のT260のキャンセル指示が、「ジョブ停止指示」の一例である。キャンセル情報を含むGN(EWM)Res(図7のT264)が、「画像形成停止コマンド」の一例である。図8のT360のキャンセル操作が、「停止操作」の一例である。
【0091】
図6のT100、T104、及び、T120が、「送信部」によって実行される処理の一例である。図6のT138、T150が、それぞれ、「画像形成制御部」、「確立部」によって実行される処理の一例である。図6のT170、図7のT270、図8のT370、及び、図9のT470、が、「切断部」によって実行される処理の一例である。図9のT496が、「再確立部」によって実行される処理の一例である。図3のS12が、「判断部」によって実行される処理の一例である。
【0092】
(第2実施例:図11
続いて、第2実施例を説明する。第2実施例では、プリンタ10は、サーバ100からJobIDを含むGN(PM)Resを受信し(図3のS4でYES、S6でYES)、かつ、プリンタ10が非プロキシ環境である場合(S12でNO)に、図5のS70を実行しない。即ち、プリンタ10は、PMでの動作を継続する。従って、プリンタ10がPMとEWMとで並行に動作することになる。以下では、PMで動作するためのPMタスク(換言すると処理スレッド)、EWMで動作するためのEWMタスクを、それぞれ、符号10A、10Bで表現する。
【0093】
PMタスク10A及びEWMタスク10Bが並列に動作していることを除き、T600~T640の処理は、第1実施例の図6のT100~T140の処理と同様である。
【0094】
PMタスク10Aは、T642において、起動指示をEWMタスク10Bに送信する。これにより、EWMタスク10Bは、T650において、サーバ100との接続を確立する(図5のS72)。次いで、EWMタスク10Bは、GN(EWM)Reqをサーバ100に送信する。
【0095】
T660~T664の処理は、図7のT260~T264の処理と同様である。EWMタスク10Bは、T664において、サーバ100からキャンセル情報を含むGN(EWM)Reqを受信すると(S80でYES、S90でYES)、T666において、キャンセル処理を実行する(S92)。このように、プリンタ10は、T680において、GN(PM)Reqをサーバ100に送信するよりも前に、T664において、サーバ100からキャンセル情報を含むGN(EWM)Reqを受信することができる。従って、プリンタ10は、キャンセル処理を迅速に実行することができる。T670の処理は、図7のT270の処理と同様である。
【0096】
このように、本実施例では、プリンタ10は、サーバ100からJobIDを含むGN(PM)Resを受信した後(T622)に、PMでの動作を継続しつつ(T680)、EWMでの動作を開始する(T650)。これにより、プリンタ10がPMとEWMとで並行に動作することが実現される。プリンタ10は、EWMで動作することによって、サーバ100からキャンセル情報を迅速に受信することができる。さらに、プリンタ10は、仮にEWMでの通信を実行不可能な事象が発生しても、PMで動作するので、キャンセル情報を含むGN(PM)Resを適切に受信することができる。
【0097】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0098】
(変形例1)上記の実施例では、サーバ100が端末50からキャンセル指示を受信することを想定している(図7のケースA2参照)。これに代えて、サーバ100は、図7のT260において、端末50からポーズ(pause)指示を受信してもよい。この場合、サーバ100は、T264において、ポーズ情報を含むGN(EWM)Resをプリンタ10に送信する。プリンタ10は、T266において、印刷を停止する。ただし、プリンタ10は、印刷データを削除しない。このため、プリンタ10は、サーバ100から印刷を再開すべき情報を含むGN(EWM)Resを受信する場合に、印刷を再開することができる。本変形例では、ポーズ指示、ポーズ情報を含むGN(EWM)Resが、それぞれ、「ジョブ停止指示」、「画像形成停止コマンド」の一例である。別の変形例では、サーバ100は、図7のT260において、端末50から割り込み指示を受信してもよい。この場合、サーバ100は、T264において、割り込み情報を含むGN(EWM)Resをプリンタ10に送信する。プリンタ10は、T266において、印刷を停止する。ただし、プリンタ10は、印刷データを削除しない。プリンタ10は、サーバ100から割り込み対象の新たな印刷データを受信し、当該新たな印刷データに従った印刷を実行する。その後、プリンタ10は、停止済みの印刷を再開する。本変形例では、割り込み指示、割り込み情報を含むGN(EWM)Resが、それぞれ、「ジョブ停止指示」、「画像形成停止コマンド」の一例である。
【0099】
(変形例2)プリンタ10に代えてスキャナが利用されてもよい。この場合、印刷仲介サーバ100に代えてスキャン仲介サーバが利用される。本変形例では、以下のように各処理が実行される。図6のT110では、印刷指示に代えてスキャン指示が通信される。T134及びT136が実行されない。T138では、原稿のスキャンが開始される。図7のT266又は図8のT362では、スキャンがキャンセルされる。図6のT160においてスキャンが完了すると、スキャナからスキャン仲介サーバを介して端末50にスキャンデータが送信される。本変形例では、スキャナ、スキャンエンジンが、それぞれ、「画像形成装置」、「画像形成エンジン」の一例である。
【0100】
(変形例3)プリンタ10は、図5のS94を実行しなくてもよい。例えば、プリンタ10は、図6のT160において、印刷が完了する場合に、T170において、サーバ100との接続を切断しなくてもよい。また例えば、プリンタ10は、図7のT264において、サーバ100からキャンセル指示を含むGN(EWM)Resを受信する場合に、T270において、サーバ100との接続を切断しなくてもよい。また例えば、プリンタ10は、図8のT360において、ユーザからキャンセル操作を受け付ける場合に、T370において、サーバ100との接続を切断しなくてもよい。本変形例では、画像形成が完了する場合に接続を切断する切断部、画像形成停止コマンドを受信する場合に接続を切断する切断部、及び、停止操作が実行される場合に接続を切断する切断部は省略可能である。
【0101】
(変形例4)プリンタ10は、図5のS100を実行しなくてもよい。即ち、プリンタ10は、図9のT460において、印刷エラーが発生する場合に、T470において、サーバ100との接続を切断しなくてもよい。本変形例では、画像形成エンジンにおいてエラーが発生する場合に接続を切断する切断部を省略可能である。
【0102】
(変形例5)プリンタ10は、図5のS104でYESの場合に、S72において、接続を再確立しなくてもよい。本変形例では、「再確立部」を省略可能である。
てもよい。
【0103】
(変形例6)プリンタ10は、図3のS12及びS20を実行せず、S10の後に必ずS30に進むように構成されていてもよい。即ち、プリンタ10は、プロキシ環境であるのか非プロキシ環境であるのかに関わらず、サーバ100との接続を確立してもよい。本変形例では、「判断部」を省略可能である。
【0104】
(変形例7)プリンタ10は、図5のS102を実行しなくてもよい。一般的に言うと、送信部は、接続が切断される場合に、問合要求をサーバに繰り返し送信することを再開しなくてもよい。
【0105】
(変形例8)上記の実施例では、プリンタ10のCPU32がプログラム36を実行することによって、図2図11の各処理が実現される。これに代えて、いずれかの処理は、論理回路等のハードウェアによって実現されてもよい。
【0106】
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【0107】
本特許出願時の特許請求の範囲において、各請求項が一部の請求項のみに従属している場合であっても、各請求項が当該一部の請求項のみに従属可能であることに限定されない。技術的に矛盾しない範囲において、各請求項は、出願時に従属していない他の請求項にも従属可能である。即ち、各請求項の技術は以下のように様々に組み合わせることができる。
(項目1)画像形成装置であって、画像形成エンジンと、問合要求をサーバに繰り返し送信する送信部であって、前記サーバは、端末装置からジョブ実行指示を受信する場合に、前記画像形成装置から受信される前記問合要求に応じて、ジョブを実行すべきことを示すジョブ実行応答を前記画像形成装置に送信する、前記送信部と、前記サーバから前記ジョブ実行応答が受信される場合に、前記画像形成エンジンを制御して画像形成を開始する画像形成制御部と、前記サーバから前記ジョブ実行応答が受信される場合に、サーバプッシュ型の接続を前記サーバと確立する確立部であって、前記サーバは、前記端末装置からジョブ停止指示を受信する場合に、前記画像形成装置から前記問合要求を受信しなくても、前記接続を利用して、画像形成停止コマンドを前記画像形成装置に送信する、前記確立部と、を備え、前記サーバから前記画像形成停止コマンドが受信される場合に、前記画像形成は停止される、画像形成装置。
(項目2)項目1に記載の画像形成装置であって、さらに、前記画像形成が完了する場合に、前記接続を切断する切断部を備える、画像形成装置。
(項目3)項目1又は2に記載の画像形成装置であって、さらに、前記サーバから前記画像形成停止コマンドが受信される場合に、前記接続を切断する切断部を備える、画像形成装置。
(項目4)項目1から3のいずれか一項に記載の画像形成装置であって、さらに、ユーザによって操作される操作部と、前記操作部において、前記画像形成を停止するための停止操作が実行される場合に、前記接続を切断する切断部と、を備え、前記操作部において前記停止操作が実行される場合に、前記サーバから前記画像形成停止コマンドが受信されなくても、前記画像形成は停止される、画像形成装置。
(項目5)項目1から4のいずれか一項に記載の画像形成装置であって、さらに、前記画像形成が開始された後に、前記画像形成エンジンにおいてエラーが発生する場合に、前記接続を切断する切断部を備える、画像形成装置。
(項目6)項目5に記載の画像形成装置であって、さらに、前記画像形成エンジンにおいて前記エラーが発生した後に、前記エラーが解消する場合に、前記接続を再確立する再確立部を備える、画像形成装置。
(項目7)項目1から6のいずれか一項に記載の画像形成装置であって、さらに、前記サーバから前記ジョブ実行応答が受信される場合に、前記画像形成装置がプロキシ環境であるのか非プロキシ環境であるのかを判断する判断部であって、前記プロキシ環境は、プロキシサーバを利用して前記サーバとの通信を実行するための環境であり、前記非プロキシ環境は、前記プロキシサーバを利用せずに前記サーバとの通信を実行するための環境である、前記判断部を備え、前記確立部は、前記画像形成装置が前記プロキシ環境にあると判断される場合に、前記接続を確立せず、前記画像形成装置が前記非プロキシ環境にあると判断される場合に、前記接続を確立する、画像形成装置。
(項目8)項目1から7のいずれか一項に記載の画像形成装置であって、前記送信部は、前記サーバから前記ジョブ実行応答が受信される場合に、前記問合要求を前記サーバに繰り返し送信することを停止する、画像形成装置。
(項目9)項目1から8のいずれか一項に記載の画像形成装置であって、前記送信部は、前記接続が切断される場合に、前記問合要求を前記サーバに繰り返し送信することを再開する、画像形成装置。
(項目10)項目1から9のいずれか一項に記載の画像形成装置であって、前記送信部は、前記サーバから前記ジョブ実行応答が受信される場合に、前記問合要求を前記サーバに繰り返し送信することを継続する、画像形成装置。
(項目11)項目1から10のいずれか一項に記載の画像形成装置であって、前記画像形成エンジンは、印刷エンジンであり、前記画像形成は、印刷媒体への画像の印刷である、画像形成装置。
(項目12)項目1から11のいずれか一項に記載の画像形成装置であって、前記ジョブ停止指示は、前記ジョブをキャンセルするための指示であり、前記画像形成停止コマンドは、前記画像形成をキャンセルするためのコマンドである、画像形成装置。
【符号の説明】
【0108】
2:通信システム、4:LAN、6:インターネット、10:プリンタ、12:操作部、14:表示部、16:通信インターフェース、18:印刷エンジン、30:制御部、32:CPU、34:メモリ、36:プログラム、50:携帯端末、100:印刷仲介サーバ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11