図1は、画像処理システム4の全体的な構成の例を示す図である。図2は、画像形成装置1のハードウェア構成の例を示す図である。図3は、端末装置2のハードウェア構成の例を示す図である。
図1に示すように、画像処理システム4は、画像形成装置1、複数台の端末装置2、および通信回線3などによって構成され、画像に関する種々の処理を実行する。
画像処理システム4は、企業、役所、または学校などの組織において、その組織のメンバによって使用される。
画像形成装置1および端末装置2は、通信回線3を介して通信を行うことができる。通信回線3として、インターネット、いわゆる有線LAN(Local Area Network)、無線LAN、公衆回線、または専用線などが用いられる。
画像形成装置1は、コピー、ネットワークプリント、ファックス、スキャン、およびボックスなどの機能を集約した装置である。一般に、「複合機」または「MFP(Multi Function Peripherals)」などと呼ばれることがある。
ネットワークプリント機能は、端末装置2から受信した画像データに基づいて画像を用紙に印刷するサービスである。「ネットワークプリンティング」または「PCプリント」などと呼ばれることもある。
ボックス機能は、ユーザごとに「ボックス」または「パーソナルボックス」などと呼ばれる記憶領域を与えておき、各ユーザが自分の記憶領域によって画像データなどを保存し管理するためのサービスである。ボックスは、パーソナルコンピュータにおける「フォルダ」または「ディレクトリ」に相当する。
画像形成装置1は、図2に示すように、CPU(Central Processing Unit)10a、RAM(Random Access Memory)10b、ROM(Read Only Memory)10c、補助記憶装置10d、タッチパネルディスプレイ10e、操作キーパネル10f、NIC(Network Interface Card)10g、モデム10h、無線LAN通信装置10i、外部インタフェース装置10j、スキャンユニット10k、入出力画像処理部10m、プリントユニット10n、およびフィニッシャ10pなどによって構成される。
タッチパネルディスプレイ10eは、ユーザに対するメッセージを示す画面、ユーザがコマンドまたは情報を入力するための画面、およびCPU10aが実行した処理の結果を示す画面などを表示する。また、タッチパネルディスプレイ10eは、タッチされた位置を示す信号をCPU10aへ送る。
操作キーパネル10fは、いわゆるハードウェアキーボードであって、テンキー、スタートキー、ストップキー、およびファンクションキーなどによって構成される。
NIC10gは、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルによって有線LANを介して端末装置2などと通信を行う。
モデム10hは、ファックス端末との間でG3などのプロトコルで公衆回線を介して画像データをやり取りする。
無線LAN通信装置10iは、無線LANを介してIEEE(Institute of Electrical and Electronics Engineers)802.11の規格に基づいて他の装置と通信を行う。無線LAN通信装置10iとして、Wi−Fiアライアンスの認証を受けた無線通信装置が用いられる。
また、無線LAN通信装置10iは、通信回線3の無線基地局を介することなく端末装置2と通信することもできる。さらに、複数台の端末装置2を同時期に接続させておくことができる。ただし、同時期に接続させておくことができる台数が制限されている。つまり、いわゆる同時接続数(同時セッション数)が決められている。以下、同時接続数が「3」である場合を例に説明する。
外部インタフェース装置10jは、周辺機器を画像形成装置1に繋ぐための装置である。外部インタフェース装置10jとして、例えばUSB(Universal Serial Bus)の規格の通信装置が用いられる。
スキャンユニット10kは、プラテンガラスの上にセットされたシートに記されている画像を読み取って画像データを生成する。
入出力画像処理部10mは、NIC10g、モデム10h、無線LAN通信装置10i、または外部インタフェース装置10jによって入力された画像データに対して、プリントユニット10nで画像を印刷するための画像処理を施す。
プリントユニット10nは、入出力画像処理部10mによって画像処理が施された画像データに基づいて画像を用紙に印刷する。
フィニッシャ10pは、プリントユニット10nによって画像が印刷された用紙すなわち印刷物に対して仕上げの処理を行う。仕上げの処理は、印刷物をステープルで綴じる処理、印刷物にパンチ穴を開ける処理、または印刷物を折り曲げる処理などである。
ROM10cまたは補助記憶装置10dには、上述のコピーなどの機能を用いた種々の種類のジョブを実行するためのプログラムが記憶されている。さらに、無線基地局を介さずに無線LANによって端末装置2と接続するための接続用プログラム1P(図4参照)が記憶されている。
これらのプログラムは、必要に応じてRAM10bにロードされ、CPU10aによって実行される。補助記憶装置10dとして、ハードディスクまたはSSD(Solid State Drive)などが用いられる。
端末装置2は、画像形成装置1の上述の機能を遠隔的に使用するためのクライアントである。また、ユーザは、画像形成装置1とリモートアクセスし、タッチパネルディスプレイ10eおよび操作キーパネル10fの代わりに画像形成装置1の入力装置として端末装置2を使用することもできる。
端末装置2として、スマートフォン、タブレットコンピュータ、携帯電話端末、パーソナルコンピュータなどが用いられる。以下、端末装置2としてノート型のパーソナルコンピュータが用いられる場合を例に説明する。
端末装置2は、図3に示すように、CPU20a、RAM20b、ROM20c、補助記憶装置20d、液晶ディスプレイ20e、NIC20f、無線LAN通信装置20g、キーボード20h、およびポインティングデバイス20iなどによって構成される。
液晶ディスプレイ20eには、印刷の対象であるドキュメントおよび印刷の指令のための画面などが表示される。
NIC20fは、TCP/IPなどのプロトコルによって画像形成装置1などと有線LANを介して通信を行う。
無線LAN通信装置20gは、画像形成装置1などと無線LANによって通信する。無線LAN通信装置20gとして、Wi−Fiアライアンスの認証を受けた無線通信装置が用いられる。
キーボード20hおよびポインティングデバイス20iは、ユーザが情報およびコマンドを入力するために用いられる。
ROM20cまたは補助記憶装置20dには、オペレーティングシステム、種々のアプリケーション、および制御アプリケーションなどが記憶されている。制御アプリケーションは、画像形成装置1にジョブを実行させるためのプログラムである。
これらのプログラムは、必要に応じてRAM20bにロードされ、CPU20aによって実行される。補助記憶装置20dとして、ハードディスクまたはSSDなどが用いられる。
以下、各端末装置2をそれぞれ「端末装置2A」、「端末装置2B」、「端末装置2C」、「端末装置2D」、…と区別して記載することがある。
上述の通り、接続用プログラム1Pは、無線基地局を介さずに無線LANによって端末装置2と接続するためのプログラムである。また、無線LAN通信装置10iには、同時接続数が「3」に決められている。つまり、無線LANによる、端末装置2と通信するための仮想的な通信路が、3本しかない。以下、3本の仮想的な通信路をそれぞれ「仮想通信路3T1」、「仮想通信路3T2」、および「仮想通信路3T3」と記載し、仮想通信路3T1〜3T3を「仮想通信路3T」と総称する。
仮想通信路3T1〜3T3は、例えばCSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)などの方式によって所定の帯域を3つに分割することによって実現される。
さらに、接続用プログラム1Pによると、仮想通信路3T1〜3T3を従来よりも効率的に使用することができる。以下、この仕組みについて、説明する。
図4は、画像形成装置1の機能的構成の例を示す図である。図5は、通信路データ5Aの初期の状態の例を示す図である。図6は、新規接続部101の構成の例を示す図である。図7は、新規接続処理の流れの例を説明するフローチャートである。図8は、継続優先度テーブル5Bの例を示す図である。図9〜図10は、処理状態などの具体的な例を示す図である。図11は、1台目の端末装置2とのセッションが確立された際の通信路データ5Aの状態の例を示す図である。図12は、通信路データ5Aの遷移の例を示す図である。図13は、セッションの切断後の準備セッションデータ5Eおよび通信路データ5Aの状態の例を示す図である。
接続用プログラム1Pによると、図4に示す新規接続部101、ジョブ指令受付部102、管理設定指令受付部103、第一の開放処理部104、第二の開放処理部105、変化応対部106、再接続部107、接続変更部108、ジョブ実行部121、管理設定部122、ジョブ状態検知部123、管理設定状態検知部124、ジョブ状態通知部125、管理設定状態通知部126、通信路データ記憶部131、優先度テーブル記憶部132、準備セッションデータ記憶部133、および待機セッションデータ記憶部134などの機能が画像形成装置1に実現される。
なお、図4においては、新規接続部101、変化応対部106、および接続変更部108における処理の際のデータの流れを省略している。これについては、図6、図14、または図24を参照されたい。
通信路データ記憶部131には、図5に示すように、仮想通信路3Tごとの通信路データ5Aが記憶されている。
通信路データ5Aには、通信路_ID、使用状態、処理状態、ワーク_ID、およびMACアドレスなどが示される。
「通信路_ID」は、その通信路データ5Aに対応する仮想通信路3Tを識別するためのID(identification)である。
「使用状態」は、その仮想通信路3Tの使用の状態である。デフォルトの値は、使用されていないことを示す「未使用」である。
「処理状態」は、その仮想通信路3Tを使用している端末装置2から指令されたジョブまたは管理設定の進捗などの状態である。
なお、「管理設定」は、画像形成装置1の管理に関する設定の処理である。管理設定は、一般に、管理者によって指令される。したがって、「管理者設定」と呼ばれることもある。
アドレス帳へのファックス番号の登録、ユーザアカウントの追加または削除、コピージョブのデフォルトの条件の変更、およびハードディスクのフォーマットなどが、管理設定の一例である。
「ワーク_ID」は、その処理(ジョブまたは管理設定)を識別するためのIDである。「MACアドレス」は、その端末装置2のMAC(Media Access Control)アドレスである。これら3つのデフォルトの値は、「NULL」である。本実施形態では、「−」がNULLであることを意味する。
以下、仮想通信路3T1、3T2、および3T3それぞれの通信路データ5Aを「通信路データ5A1」、「通信路データ5A2」、「通信路データ5A3」と区別して記載することがある。
優先度テーブル記憶部132には、継続優先度テーブル5B(図8参照)および再接続優先度テーブル5C(図21参照)が予め記憶されている。これらのテーブルに示される情報については、後に説明する。
端末装置2は、従来と同様に、基本的に、相手のSSID(Service Set Identifier)および暗号化キーを知っていれば、無線LANによって相手との接続を確立することができる。端末装置2には、画像形成装置1の無線LAN通信装置10iのSSIDおよび暗号化キーが予め記憶されている。よって、端末装置2は、従来と同様の方法によって、通信回線3の無線基地局を介さずに画像形成装置1と接続することができる。
例えば、端末装置2は、ユーザが所定の操作を行うと、無線LAN(Wi−Fi)の接続用の画面を液晶ディスプレイ20eに表示させる。そして、ユーザが画像形成装置1のSSIDを指定し、接続のコマンドを入力すると、端末装置2は、指定されたSSIDに基づいて画像形成装置1への接続を試みる。この際に、接続要求データ5Dを画像形成装置1へ送信する。接続要求データ5Dには、端末装置2自身の識別子として、端末装置2自身のMACアドレスが示されている。
画像形成装置1において、新規接続部101は、図6に示すように、空通信路検索部141、開放候補選出部142、通信路開放部143、および接続処理部144などによって構成される。
新規接続部101は、接続要求データ5Dを受信すると、端末装置2を無線LANによって画像形成装置1に接続させる処理を、図7に示す手順で実行する。以下、端末装置2Aから接続要求データ5Dを受信した場合を例に、新規接続部101の各部の処理を説明する。
空通信路検索部141は、「使用状態」が「未使用」である通信路データ5Aを通信路データ記憶部131(図5参照)の中から検索することによって、現在使用されていない仮想通信路3T(以下、「空き仮想通信路」と記載する。)検索する(図7の#701)。
開放候補選出部142は、空き仮想通信路が見つからなかった場合に(#702でNo)、3つの仮想通信路3Tの中から、「5」よりも低い継続優先度を有しかつ継続優先度が最も低いものを選出する(#703)。
「継続優先度」は、セッションを切断することなく継続させることの相応しさの度合である。「1」、「2」、「3」、…の順に継続優先度が高い。
継続優先度は、図8に示すように、処理状態ごとに、継続優先度テーブル5Bに予め定義されている。
「管理設定中 − 内容受付中」は、管理設定の内容を受け付ける処理を実行している状態である。「管理設定中 − 画像データ受信」は、管理設定において使用する画像データを受信する処理を実行している状態である。「管理設定中 − 文書選択」は、管理設定において使用する文書を管理者に選択させている状態である。
「ジョブ異常停止中 − ジャム」は、ジョブがスキャンユニット10kまたはプリントユニット10nにおいてジャム(紙詰まり)によって停止している状態である。「ジョブ異常停止中 − ライフストップ」は、ジョブがトナー切れまたはステープル切れなど、用紙以外の消耗品の不足によって停止している状態である。「ジョブ異常停止中 − 用紙切れ」は、ジョブが用紙切れによって停止している状態である。
「異常終了 − 管理設定」は、管理設定が異常に終了した状態、つまり、失敗して終了した状態である。ハードディスクのフォーマットの失敗が、この状態の一例である。
「新規接続要求」は、無線LANによる画像形成装置1への新たな接続を要求されている状態である。
「正常終了 − 管理設定」は、管理設定が正常に終了した状態、つまり、成功して終了した状態である。
「ジョブの異常終了」は、指定された条件とは異なる条件でジョブが実行され終了した状態である。カラー印刷を条件として指定されたにも関わらずカラーのトナーの不足によりグレースケールで印刷を行いジョブが終了した状態が、この状態の一例である。
「ジョブ正常終了 − データ送信」は、データの送信を伴うジョブが正常に終了した状態、つまり、成功して終了した状態である。「ジョブ正常終了 − 印刷」は、印刷を伴うジョブが正常に終了した状態、つまり、成功して終了した状態である。
「動作中 − 管理設定」は、管理設定が実行されている状態である。「動作中 − 画像データの生成」は、画像データを生成する処理が実行されている状態である。
「動作中 − データ送信中」は、データを送信する処理が実行されている状態である。「動作中 − データ送信完了」は、データの送信が完了した直後の状態である。
「動作中 − 印刷中」は、画像を用紙に印刷する処理が実行されている状態である。「動作中 − 印刷完了」は、画像を用紙に印刷する処理が完了した直後の状態である。「動作中 − 読込中」は、画像を用紙から読み取る処理が実行されている状態である。「アイドル」は、端末装置2において画像形成装置1を制御するためのアプリケーションが起動していない状態または管理設定およびジョブを1つも実行していない状態である。
なお、図8の継続優先度テーブル5Bに示される状態は、ジョブおよび管理設定それぞれの状態の一部である。
さらに具体的には、ジョブおよび管理設定それぞれの状態は、図9〜図10の「正常手順」に示すように遷移する。また、ジョブおよび管理設定のそれぞれは、「異常停止」に示すような異常の状態(異常の原因)で停止し、「異常終了」に示すような異常の状態で終了する。そして、図8には例示していないが、継続優先度テーブル5Bには、図9〜図10に例示する状態ごとの継続優先度が定義されている。
また、各状態を、図8〜図10では、本実施形態の理解の容易のために「管理設定中 − 画像データ受信」のような概略によって示しているが、各ジョブの状態および各管理設定の状態ごとにコードを予め割り振っておき、コードによって各状態を識別すればよい。コードとして、画像形成装置1のオペレーティングシステムで使用されるもの(例えば、エラーコード)を用いてもよい。
各状態の継続優先度は、その状態において端末装置2へ送信するデータまたは端末装置2から受信するデータの重要性または緊急性が高いものほど、画像形成装置1の管理者または開発者によって高く設定されている。
後述する再接続優先度テーブル5C(図21参照)および再接続優先度についても、同様である。
開放候補選出部142は、3つの仮想通信路3Tそれぞれに係る処理状態に対応する継続優先度を、継続優先度テーブル5Bおよびそれぞれの通信路データ5Aから求める。つまり、通信路データ5Aに示される処理状態に対応する継続優先度を、継続優先度テーブル5Bから検索することによって求める。そして、継続優先度が「5」よりも低くかつ最も低い通信路データ5Aを有する仮想通信路3Tを選出する。
なお、このような仮想通信路3Tが複数ある場合は、開放候補選出部142は、いずれか1つを選出する。例えば、ランダムに選出すればよい。
開放候補選出部142によって仮想通信路3Tが選出されなかった場合は(#704でNo)、端末装置2Aとの接続が中止される(#705)。
開放候補選出部142によって仮想通信路3Tが選出された場合に(#704でYes)、通信路開放部143は、その仮想通信路3Tを開放するための処理を次のように行う。
通信路開放部143は、その仮想通信路3Tを介して画像形成装置1に接続されている端末装置2のために準備セッションデータ5E(図13(B)参照)を生成して準備セッションデータ記憶部133に記憶させるとともに、その仮想通信路3Tの通信路データ5Aを初期値に戻す(#706)。
準備セッションデータ5Eには、初期値に戻す前に通信路データ5Aに示されていたワーク_ID、MACアドレス、および処理状態が示される。さらに、「再接続要否」には、後にその端末装置2と後に再び接続することが必要である旨を意味する「要」がデフォルトの値として示される。
ただし、処理状態は、所定の規則に基づいて適宜、より具体的な内容に変更され、または、抽象的な内容に更新される。後述する、準備セッションデータ5Eに基づいて待機セッションデータ5Fを生成する場合および待機セッションデータ5Fに基づいて通信路データ5Aを更新する場合においても、同様である。
準備セッションデータ5Eは、セッションを再び確立する必要が生じるのを待っている端末装置2のデータである。
そして、通信路開放部143は、その端末装置2とのセッションを切断することによって、その仮想通信路3Tを開放する(#707)。これにより、空き仮想通信路が確保される。
空通信路検索部141によって空き仮想通信路が見つけられた場合(#702でYes)、および、通信路開放部143によって空き仮想通信路が確保された場合に、接続処理部144は、空き仮想通信路を介して接続要求データ5Dの送信元すなわち端末装置2Aと接続する処理を次のように実行する。
接続処理部144は、端末装置2Aから、端末装置2AのMACアドレスなどの情報を取得する(#708)。取得したMACアドレスを空き仮想通信路の通信路データ5Aの「MACアドレス」に書き込み、使用中であることを意味する「使用中」を「使用状態」に書き込み、「新規接続要求」を「処理状態」に書き込む(#709)。
そして、接続処理部144は、その空き仮想通信路を介して端末装置2Aと画像形成装置1自身とのセッションを確立させる(#710)。
その後、画像形成装置1は、端末装置2Aからジョブまたは管理設定を指令されるのを待つ(#711)。
例えば、端末装置2Aから接続要求データ5Dを受信した時点において、仮想通信路3T1が空き仮想通信路であれば、通信路データ5A1の「使用状態」には、図5のように「未使用」が示される。
そこで、新規接続部101は、仮想通信路3T1を介して端末装置2Aと画像形成装置1自身とのセッションを確立する。この際に、仮想通信路3T1を図11のように更新する。
または、端末装置2Aから接続要求データ5Dを受信した時点において、仮想通信路3T1、3T2、および3T3がすべて使用中であって、通信路データ5A1、5A2、および5A3に図12(A)のような情報が示される場合は、新規接続部101は、仮想通信路3T1、3T2、および3T3の継続優先度として、それぞれ「10」、「13」、「および「2」を得る。継続優先度が「5」より低い仮想通信路3Tのうち、継続優先度が最も低いものは、仮想通信路3T2である。
したがって、新規接続部101は、仮想通信路3T2を選出し、仮想通信路3T2が使用されているセッションを切断し、仮想通信路3T2を開放する。この際に、図12(B)のように、通信路データ5A2を更新する。さらに、更新の前に通信路データ5A2に示されていた情報に基づいて、図13(A)のような準備セッションデータ5Eを新たに生成し準備セッションデータ記憶部133に記憶させる。
そして、新規接続部101は、仮想通信路3T2を介して端末装置2Aと画像形成装置1自身とのセッションを確立させ、通信路データ5A2を図13(B)のように更新する。
図4に戻って、ジョブ指令受付部102は、新たに接続された端末装置2からジョブの指令を受け付ける。受け付ける方法は、従来と同様である。
例えば、ジョブ指令受付部102は、ネットワークプリントのジョブの指令を、PDL(Page Description Language)で記述された印刷データとともにその端末装置2から受信することによって、受け付ける。
ジョブ実行部121は、受け付けられた指令およびデータなどに基づいてジョブが実行されるように、従来通り、各部を制御する。
さらに、ジョブ実行部121は、そのジョブのワーク_IDを発行し、そのジョブの指令元である端末装置2が使用している仮想通信路3Tの通信路データ5Aに書き込む。また、そのジョブの1つ目のフェーズを実行していることが示されるように処理状態の値を更新する。
管理設定指令受付部103は、新たに接続された端末装置2から管理設定の指令を受け付ける。受け付ける方法は、従来と同様である。
例えば、管理設定指令受付部103は、管理設定の条件を指定するためのウェブページを表示するためのデータをその端末装置2へ配信する。
端末装置2は、そのデータを受信すると、そのウェブページを表示する。そして、管理者が、そのウェブページに対して管理設定の条件を入力すると、管理設定の指令とともに、入力された条件を画像形成装置1へ送信する。そして、管理設定指令受付部103は、その指令をその条件とともに受け付ける。
管理設定部122は、受け付けられた指令および条件などに基づいて管理設定が実行されるように、従来通り、各部を制御する。
さらに、管理設定部122、その管理設定のワーク_IDを発行し、その管理設定の指令元である端末装置2が使用している仮想通信路3Tの通信路データ5Aに書き込む。また、その管理設定の1つ目のフェーズを実行していることが示されるように処理状態の値を更新する。
以上の通り、新規接続部101によって端末装置2との新規のセッションが確立され、ジョブ指令受付部102または管理設定指令受付部103によってその端末装置2から指令が受け付けられ、ジョブ実行部121または管理設定部122によってジョブまたは管理設定が開始される。
図14は、変化応対部106の構成の例を示す図である。図15は、変化応対処理の流れの例を説明するフローチャートである。図16は、準備セッションデータ5Eの遷移の例を示す図である。図17は、待機セッションデータ5Fの遷移の例を示す図である。
ジョブ状態検知部123は、ジョブの進捗を監視し、その状態を検知する。画像形成装置1のオペレーティングシステムへジョブの状態を定期的に問い合わせることによってジョブの進捗を監視し状態を検知することができる。または、ジョブの状態の変化をオペレーティングシステムから通知してもらうようにしてもよい。
管理設定状態検知部124は、管理設定の進捗を監視し、その状態を検知する。ジョブの場合と同様に、オペレーティングシステムへ問い合わせ、または、オペレーティングシステムから通知してもらうことによって、監視および検知を行えばよい。
変化応対部106は、ジョブ状態検知部123によってジョブの新たな状態が検知された場合および管理設定状態検知部124によって管理設定の新たな状態が検知された場合に、すなわち、ジョブまたは管理設定の状態に変化が生じた場合に、変化に対応する処理を行う。
変化応対部106は、図14に示すようにデータ更新部161、通信要否判別部162、接続待機処理部163、および通信路開放部164などによって構成される。そして、変化応対部106の各部は、ジョブまたは管理設定の状態の変化に対応する処理を、図15に示す手順で行う。
データ更新部161は、状態が変化したジョブまたは管理設定のワーク_IDを示す通信路データ5Aまたは準備セッションデータ5Eを通信路データ記憶部131または準備セッションデータ記憶部133から検索し、検知された状態が処理状態として示されるように、その通信路データ5Aまたは準備セッションデータ5Eを更新する(図15の#721)。
準備セッションデータ5Eを更新した場合は、現在、その準備セッションデータ5Eに示されるMACアドレスを有する装置(つまり、指令元の端末装置2)と画像形成装置1自身とのセッションが確立されていないことが分かる。
この場合、すなわち、その端末装置2とのセッションが確立されていない場合は(#722でNo)、通信要否判別部162は、そのジョブまたは管理設定が、その端末装置2との通信を必要とするフェーズに近付いているか否かを、判別する(#723)。判別は、例えば、次のようにして行えばよい。
ジョブおよび管理設定それぞれの種類ごとに、予めフェーズ(処理、ステップ)の流れおよび通信が必要なフェーズを定義したテーブルを通信要否判別部162に用意しておく。そして、通信要否判別部162は、状態が変化したジョブまたは管理設定のテーブルに基づいて、そのジョブまたは管理設定において次に実行すべきフェーズが通信を必要とするか否かをチェックし、必要とする場合は、通信を必要とするフェーズに近付いていると、判別する。
通信を必要とするフェーズが近付いていると通信要否判別部162によって判別された場合は(#724でYes)、接続待機処理部163は、その準備セッションデータ5Eと同一の内容を示す待機セッションデータ5Fを生成し待機セッションデータ記憶部134の最後尾に記憶させ、準備セッションデータ記憶部133からその準備セッションデータ5Eを削除する(#725)。
待機セッションデータ5Fは、指令元である端末装置2との再接続が直ちにまたは所定の時間以内に必要なジョブまたは管理設定のデータである。
その端末装置2とのセッションが確立されている場合(#722でYes)および通信を必要とするフェーズが近付いていない場合は(#724でNo)、接続待機処理部163は、待機セッションデータ5Fの生成も準備セッションデータ5Eの削除も行わない。
その端末装置2とのセッションが確立されており(#722でYes)、かつ、そのジョブまたは管理設定について実行すべきフェーズが残っていない場合は(#726でNo)、通信路開放部164は、そのセッションに用いられている仮想通信路3Tの通信路データ5Aを初期値に戻すとともに(#727)、そのセッションを切断する(#728)。
実行すべきフェーズが残っていない場合は、例えば、そのジョブまたは管理設定が正常に終了しその端末装置2へその旨が通知された場合、そのジョブまたは管理設定が、指定された条件の通りには実行されなかったが他の条件で実行され終了しその端末装置2へその旨が通知された場合、そのジョブまたは管理設定がエラーの発生などによって途中で停止しユーザがキャンセルを指令した場合などである。
なお、ステップ#721において、変化応対部106は、通信路データ5Aも準備セッションデータ5Eも見つからない場合は、待機セッションデータ5Fを待機セッションデータ記憶部134の中から検索する。そして、見つかった待機セッションデータ5Fを、検知された状態が処理状態として示されるように更新する。この場合は、既に接続を待機する手続がなされているので、ステップ#723、#725の処理をスキップする。
例えば、変化応対部106は、ステップ#721において図16(A)に示す準備セッションデータ5E1を更新し、ステップ#723において準備セッションデータ5E1に示されるMACアドレスを有する端末装置2との通信を必要とするフェーズに近付いていると判別した場合は、図17(B)のように、準備セッションデータ5E1と同一の内容を示す待機セッションデータ5F1を生成し待機セッションデータ記憶部134の最後尾に記憶させる。なお、図17(A)は、待機セッションデータ5F1が記憶される前の待機セッションデータ記憶部134の状態を示す。
そして、変化応対部106は、図16(B)のように、準備セッションデータ5E1を準備セッションデータ記憶部133から削除する。
図18は、第一の開放処理の流れの例を説明するフローチャートである。図19は、第二の開放処理の流れの例を説明するフローチャートである。
ジョブまたは管理設定の開始後、そのジョブまたは管理設定の指令元である端末装置2との通信がしばらくの間、不要になる場合がある。このような場合は、その端末装置2とのセッションに使用されている仮想通信路3Tを開放すれば、仮想通信路3Tをより有効的に使用することができる。
そこで、第一の開放処理部104および第二の開放処理部105は、仮想通信路3Tを開放する処理(以下、「開放処理」と記載する。)を次のように実行する。
第一の開放処理部104は、図18に示す手順で開放処理を実行する。第一の開放処理部104は、待機セッションデータ記憶部134に待機セッションデータ5Fが記憶されているか否かをチェックする(#731)。つまり、再接続を待っているジョブまたは管理設定の有無をチェックする。
待機セッションデータ5Fが記憶されている場合は(#732でYes)、第一の開放処理部104は、その仮想通信路3Tを開放するための処理を行う。この処理は、前に図7のステップ#706、#707で説明した通りである。
つまり、第一の開放処理部104は、その仮想通信路3Tの通信路データ5Aに基づいてその端末装置2の準備セッションデータ5Eを生成して準備セッションデータ記憶部133に記憶させるとともに、その通信路データ5Aを初期値に戻す(#733)。そして、その端末装置2とのセッションを切断することによって、その仮想通信路3Tを開放する(#734)。
待機セッションデータ5Fが記憶されていない場合は(#732でNo)、第一の開放処理部104は、その仮想通信路3Tを開放しない。これにより、セッションが引き続き維持される。
一方、第二の開放処理部105は、図19に示す手順で開放処理を実行する。第二の開放処理部105は、その管理設定を実行するのに要する時間(所要時間)を推測する(#741)。所要時間は、公知の方法によって推測すればよい。例えば、その管理設定がハードディスクのフォーマットである場合は、ハードディスクの容量に応じて算出すればよい。
所要時間が所定の長さ以上である場合は(#742でYes)、第二の開放処理部105は、待機セッションデータ記憶部134に待機セッションデータ5Fが記憶されているか否かをチェックする(#743)。
待機セッションデータ5Fが記憶されている場合は(#744でYes)、第二の開放処理部105は、その仮想通信路3Tを開放するための処理を行う(#745、#746)。この処理は、前に図7のステップ#706、#707で説明した通りである。
所要時間が所定の長さ未満である場合(#742でNo)および待機セッションデータ5Fが記憶されていない場合は(#744でNo)、第二の開放処理部105は、その仮想通信路3Tを開放しない。これにより、セッションが引き続き維持される。
図20は、再接続処理の流れの例を説明するフローチャートである。図21は、再接続優先度テーブル5Cの例を示す図である。図22は、待機セッションデータ5Fの遷移の例を示す図である。図23は、通信路データ5Aの遷移の例を示す図である。
再接続部107は、仮想通信路3Tを監視し、ある端末装置2とのセッションの切断があった仮想通信路3Tを検知すると、その仮想通信路3Tを用いて他の端末装置2に再び接続する処理を行う。この処理の手順は、図20に示す通りである。
再接続部107は、待機セッションデータ記憶部134に待機セッションデータ5Fが記憶されているジョブまたは管理設定の中から最上位のジョブまたは管理設定を再接続候補として選出する(図20の#751)。
最上位のジョブまたは管理設定は、例えば次のように選出すればよい。再接続部107は、待機セッションデータ記憶部134の先頭に記憶されている待機セッションデータ5Fに係るジョブまたは管理設定を再接続候補として選出する。すなわち、待機セッションデータ記憶部134に最も先に記憶された待機セッションデータ5Fに係るジョブまたは管理設定を再接続候補として選出する。
または、再接続部107は、図21の再接続優先度テーブル5Cを優先度テーブル記憶部132から読み出し、再接続優先度テーブル5Cに基づいて、待機セッションデータ5Fそれぞれに示される処理状態の再接続優先度を求める。そして、再接続優先度が最も高い待機セッションデータ5Fに係るジョブまたは管理処理を再接続候補として選出する。このような待機セッションデータ5Fが複数ある場合は、これらのうちの待機セッションデータ記憶部134に最も先に記憶された待機セッションデータ5Fに係るジョブまたは管理設定を再接続候補として選出すればよい。
「再接続優先度」は、再びセッションを確立させることの相応しさの度合である。継続優先度と同様に、「1」、「2」、「3」、…の順に再接続優先度が高い。
再接続優先度は、図21に示すように、処理状態ごとに、再接続優先度テーブル5Cに予め定義されている。
「異常停止中 − スキャンジャム」は、スキャンユニット10kにおいてジャム(紙詰まり)によってジョブまたは管理設定が停止している状態である。「異常停止中 − プリントジャム」は、プリントユニット10nにおいてジャム(紙詰まり)によってジョブが停止している状態である。
「異常停止中 − 用紙切れ」は、用紙切れによってジョブが停止している状態である。「異常停止中 − ライフストップ」は、トナー切れまたはステープル切れなど用紙以外の消耗品の不足によってジョブが停止している状態である。
「異常停止中 − 管理設定エラー」は、何らかの異常により管理設定が停止している状態である。
「異常終了 − 管理設定」は、管理設定が異常に終了した状態、つまり、失敗して終了した状態である。「正常終了 − 管理設定」は、管理設定が正常に終了した状態、つまり、成功して終了した状態である。
「異常終了 − ジョブ未完了」は、ジョブが、何らかの異常により、完了することなく終了した状態である。異常の発生によりジョブが停止し、その後、ジョブがキャンセルされた状態が、一例である。
「異常終了 − ジョブ完了」は、指定された条件とは異なる条件でジョブが実行され終了した状態である。
「正常終了 − データ送信」は、データの送信を伴うジョブが正常に終了した状態、つまり、成功して終了した状態である。「ジョブ正常終了 − 印刷」は、印刷を伴うジョブが正常に終了した状態、つまり、成功して終了した状態である。
再接続部107は、再接続候補を選出すると、再接続候補を次のように移動させる(#752)。セッションの切断があった仮想通信路3Tすなわち空き仮想通信路の通信路データ5Aを、再接続候補として選出された待機セッションデータ5F(図17参照)のワーク_ID、MACアドレス、および処理状態の各情報が示されるように更新する。そして、その待機セッションデータ5Fを待機セッションデータ記憶部134から削除する。
さらに、再接続部107は、その通信路データ5Aを、使用状態として「使用中」が示されるように更新する(#753)。そして、空き仮想通信路を介してその通信路データ5Aに示されるMACアドレスを有する端末装置2(つまり、その再接続候補の指令元である端末装置2)へ接続する処理を行う(#754)。これにより、その端末装置2と画像形成装置1自身とのセッションを確立する。
他の仮想通信路3Tが空いている場合は(#755でYes)、再接続部107は、ステップ#751〜#754の処理を実行する。
例えば、図22(A)に示すような3つの待機セッションデータ5F2、5F3、および5F4が待機セッションデータ記憶部134に記憶されている場合は、再接続部107は、先頭の待機セッションデータ5Fすなわち待機セッションデータ5F2に係るジョブまたは管理設定を再接続候補として選出する。
または、再接続部107は、再接続優先度テーブル5Cに基づいて、それぞれの再接続優先度として「5」、「2」、および「9」を求める。そして、再接続優先度が最も高い待機セッションデータ5Fすなわち待機セッションデータ5F3に係るジョブまたは管理設定を再接続候補として選出する。以下、待機セッションデータ5F3に係るジョブまたは管理設定が再接続候補として選出された場合を例に説明する。
そして、再接続部107は、選出したジョブまたは管理設定の指令元である端末装置2へ空き仮想通信路を介して接続する処理を行う。さらに、図22(B)のように、そのジョブまたは管理設定の待機セッションデータ5Fを待機セッションデータ記憶部134から削除するとともに、図23(B)のように、その空き仮想通信路の通信路データ5A(本例では、通信路データ5A2)を更新する。なお、図23(A)は、更新する前の各通信路データ5Aを示す。
図24は、接続変更部108の構成の例を示す図である。図25は、接続変更処理の流れの例を説明するフローチャートである。図26は、通信路データ5Aの遷移の例を示す図である。図27は、待機セッションデータ5Fの遷移の例を示す図である。図28は、準備セッションデータ5Eの遷移の例を示す図である。図29は、ポップアップ画面6Aおよびエラーメッセージ画面6Bの例を示す図である。
接続変更部108は、ある端末装置2とのセッションを切断し、他の端末装置2とのセッションを確立するための処理を行う。つまり、接続の切換えの処理を行う。
接続変更部108は、図24に示すように、切換候補選出部181、通信路開放部182、および接続処理部183などによって構成される。接続変更部108の各部は、図25に示す手順で、接続の切換えの処理を行う。
切換候補選出部181は、セッションを切断してもよい端末装置2(以下、「切断対象装置」と記載する。)とセッションを再び確立する端末装置2(以下、「再接続対象装置」と記載する。)とを次のように選出する。
切換候補選出部181は、再接続優先度が最も高い待機セッションデータ5Fに係るジョブまたは管理処理を再接続候補として選出する(#761)。選出の仕方は、前に図20の#751で説明した通りである。
さらに、切換候補選出部181は、継続優先度が最も低い仮想通信路3Tを選出する(#762)。
切換候補選出部181は、選出した再接続候補の再接続優先度と選出した仮想通信路3Tの継続優先度とを比較する(#763)。そして、再接続優先度のほうが継続優先度よりも高い場合は(#764でYes)、その再接続候補の指令元である端末装置2を再接続対象装置として選出し、その仮想通信路3Tを介して接続されている端末装置2を切断対象装置として選出する(#765)。そうでない場合は(#764でNo)、接続の切換えの処理が中止される。
なお、切換候補選出部181は、比較することなく、ステップ#761で選出した再接続候補の指令元である端末装置2を再接続対象装置として選出し、ステップ#762で選出した仮想通信路3Tを介して接続されている端末装置2を切断対象装置として選出してもよい。
通信路開放部182は、切断対象装置のために準備セッションデータ5Eを生成して準備セッションデータ記憶部133に記憶させるとともに、選出された仮想通信路3Tの通信路データ5Aを初期値に戻す(#766)。そして、切断対象装置とのセッションを切断する(#767)。
接続処理部183は、その仮想通信路3Tの通信路データ5Aを、再接続候補として選出された待機セッションデータ5Fのワーク_ID、MACアドレス、および処理状態の各情報が示されるように更新し、使用状態として「使用中」が示されるように更新し、その待機セッションデータ5Fを待機セッションデータ記憶部134から削除する(#768)。
そして、接続処理部183は、その仮想通信路3Tを介して再接続対象装置へ接続する処理を行う(#769)。
これにより、画像形成装置1に接続される端末装置2が、切断対象装置から再接続対象候補へ切り換わる。
待機セッションデータ記憶部134に待機セッションデータ5Fが残っている場合は(#770でYes)、接続変更部108は、ステップ#761へ戻って接続の切換えの処理を行う。
接続変更部108は、接続の切換えの処理を定期的に行えばよい。または、待機セッションデータ5Fが新たに待機セッションデータ記憶部134に記憶されたタイミングで行ってもよい。
例えば、通信路データ5A1〜5A3が通信路データ記憶部131に図26(A)のように記憶されており、待機セッションデータ5F5〜5F7が図27(A)のように記憶されている場合は、接続変更部108は、先頭の待機セッションデータ5Fすなわち待機セッションデータ5F5に係るジョブまたは管理設定を再接続候補として選出する。または、再接続優先度が最も高い待機セッションデータ5Fすなわち待機セッションデータ5F6に係るジョブまたは管理設定を再接続候補として選出する。以下、待機セッションデータ5F6に係るジョブまたは管理設定が選出された場合を例に説明する。このジョブまたは管理設定の再接続優先度は、「2」である。
さらに、接続変更部108は、継続優先度が最も低い仮想通信路3Tすなわち仮想通信路3T2を選出する。仮想通信路3T2の継続優先度は、「13」である。
この再接続優先度は、この継続優先度よりも高い。そこで、接続変更部108は、選出した再接続候補の指令元である端末装置2を再接続対象装置として選出し、選出した仮想通信路3Tすなわち仮想通信路3T2を介して接続されている端末装置2を切断対象装置として選出する。
接続変更部108は、仮想通信路3T2が使用されているセッションを切断し、通信路データ5A2を図26(B)のように更新するとともに、切断対象装置のための準備セッションデータ5E7を生成し、図28(B)のように準備セッションデータ記憶部133に記憶させる。なお、図28(A)は、準備セッションデータ5E7記憶される前の準備セッションデータ記憶部133の状態を示す。
そして、接続変更部108は、再接続対象装置を、仮想通信路3T2を介して接続する処理を行う。さらに、図27(B)のように、その再接続対象装置の待機セッションデータ5Fすなわち待機セッションデータ5F6を待機セッションデータ記憶部134から削除するとともに、図26(C)のように、通信路データ5A2を更新する。
ジョブ状態通知部125は、必要に応じて、ジョブの状態(正常な完了、中断、条件の変更、失敗、発生したエラーなど)を、ジョブの指令元である端末装置2へ通知する。その端末装置2とのセッションが切断されている場合は、再びセッションが確立された後に、通知する。
管理設定状態通知部126は、必要に応じて、管理設定の状態(正常な完了、中断、条件の変更、失敗、発生したエラーなど)を、管理設定の指令元である端末装置2へ通知する。その端末装置2とのセッションが切断されている場合は、再びセッションが確立された後に、通知する。
端末装置2は、ジョブ状態通知部125または管理設定状態通知部126から通知を受けると、その内容に応じた画面を表示する。
例えば、ジョブまたは管理設定が正常に終了したことを通知された場合は、端末装置2は、図29(A)のように、ポップアップ画面6Aを表示する。この場合は、制御アプリケーションを起動する必要はない。
または、ジョブまたは管理設定にエラーが発生したことを通知された場合は、端末装置2は、制御アプリケーションを起動し、図29(B)のように、制御アプリケーションによって、エラーを警告するエラーメッセージ画面6Bを表示する。
図30は、画像形成装置1におけるセッションの管理の全体的な処理の流れの例を説明するフローチャートである。
次に、画像形成装置1における無線LANのセッションの管理の全体的な処理を、フローチャートを参照しながら説明する。
画像形成装置1は、接続用プログラム1Pに基づいて、図30に示す手順で処理を実行する。
画像形成装置1は、端末装置2から接続要求データ5Dを受信した場合は(図30の#11でYes)、その端末装置2と画像形成装置1自身とのセッションを確立する処理を実行する(#12)。この処理の手順は、前に図7で説明した通りである。
または、画像形成装置1は、ジョブを実行し始めると(#13でYes)、そのジョブのワーク_IDを示す通信路データ5A、準備セッションデータ5E、または待機セッションデータ5Fを更新する(#14)。さらに、そのジョブの指令元である端末装置2とのセッションが継続していれば、所定の条件を満たす場合にそのセッションを切断する処理を実行する(#15)。この処理の手順は、前に図18で説明した通りである。
または、画像形成装置1は、管理設定を実行し始めると(#16でYes)、その管理設定のワーク_IDを示す通信路データ5A、準備セッションデータ5E、または待機セッションデータ5Fを更新する(#17)。さらに、その管理処理の指令元である端末装置2とのセッションが継続していれば、所定の条件を満たす場合にそのセッションを切断する処理を実行する(#18)。この処理の手順は、前に図19で説明した通りである。
または、画像形成装置1は、ジョブまたは管理設定の状態が変化した場合は(#19でYes)、変化後の状態に応じた処理を実行する(#20)。この処理の手順は、前に図15で説明した通りである。
または、画像形成装置1は、ジョブまたは管理設定の完了などに伴っていずれかの仮想通信路3Tが空いたことを検知し(#21でYes)、かつ、待機セッションデータ5Fが待機セッションデータ記憶部134に記憶されている場合は(#22でYes)、その仮想通信路3Tを用いて、いずれかの端末装置2とのセッションを確立し直す処理を実行する(#23)。この処理の手順は、前に図20で説明した通りである。
または、画像形成装置1は、所定のイベントが生じ(#24でYes)、待機セッションデータ5Fが待機セッションデータ記憶部134に記憶されている場合は(#25でYes)、接続の切換えの処理を実行する(#26)。この処理の手順は、前に図25で説明した通りである。
本実施形態によると、無線LANのダイレクト接続の同時接続数が決まっている画像形成装置1へ端末装置2を従来よりも接続しやすくすることができる。
本実施形態では、図19で説明した通り、画像形成装置1は、管理設定の所要時間が所定の長さ以上である場合に、その管理設定の開始後、その管理設定に使用するセッションを切断せずに継続した。ジョブを実行する際も同様に、所要時間が所定の長さ以上であれば、そのジョブの開始後、そのジョブに使用するセッションを切断せずに継続してもよい。
本実施形態では、図18または図19で説明した通り、画像形成装置1は、新たにセッションを確立した後、ジョブまたは管理設定の指令を受け付けた場合に、そのセッションの切断の処理を試みた。新たにセッションを確立した後、所定の時間が経過してもジョブまたは管理設定の指令が相手方である端末装置2からなされない場合は、そのセッションを切断してもよい。
本実施形態では、通信路データ5A、接続要求データ5D、準備セッションデータ5E、および待機セッションデータ5Fは、端末装置2の識別子として端末装置2のMACアドレスを示したが、端末装置2のSSIDを示すようにしてもよい。または、MACアドレスおよびSSIDの両方を示すようにしてもよい。
画像形成装置1と端末装置2とが再び接続するために、画像形成装置1および端末装置2は次のように処理を行ってもよい。
端末装置2は、セッションが切断された後、定期的に(例えば、数秒ないし数十秒ごとに)接続要求データ5Dを発信する。
画像形成装置1は、接続要求データ5Dを受信すると、その接続要求データ5Dに示される識別子が、準備セッションデータ5Eまたは待機セッションデータ5Fのいずれに示されるかを判別する。
準備セッションデータ5Eに示される場合は、画像形成装置1は、接続要求データ5Dを無視する。一方、待機セッションデータ5Fに示される場合は、上述の方法によって適宜、端末装置2とのセッションの確立を行う。
画像形成装置1は、ジョブまたは管理設定の種類または条件によっては、セッションを切断しないようにしてもよい。例えば、PCファックスジョブ(端末装置2から画像データを受信し、ファックスによって他の装置へ送信するジョブ)の場合は、セッションを切断しないようにしてもよい。確認印刷ジョブ(大量の部数を印刷する前に、予め印刷物の状態を確認するための、印刷のジョブ)の場合も、セッションを切断しないようにしてもよい。
または、画像形成装置1は、ジョブまたは管理設定の種類または条件によっては、開始した後、特定のフェーズを過ぎるまでセッションを切断しないようにしてもよい。例えば、原稿の画像を用紙から読み取るのを複数回に分けて行う必要があるジョブの場合は、最後の読取りが終わるまで、セッションを切断しないようにしてもよい。
その他、画像処理システム4、画像形成装置1、端末装置2の全体または各部の構成、処理の内容、処理の順序、データの構成などは、本発明の趣旨に沿って適宜変更することができる。