(57)【要約】【課題】画像形成装置がオフラインとなって画像形成が不可能となる事態を抑制することができる手段を提供する。【解決手段】ＰＣのＣＰＵによって実行されるプログラムは、接続先設定データが示す接続先である第１接続先がオンラインであるか否かを判断し、第１接続先がオフラインであると判断したことに応じて、接続先候補データが示す接続先のうち、第１接続先とは異なる接続先であり、第１デバイスドライバが対応する第１種類の画像形成デバイスが接続されており、かつ、オンラインである第２接続先を特定する。プログラムは、第２接続先を示すように接続先設定データを更新する。【選択図】図３
2019133460.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークインタフェースと、メモリと、コンピュータとを備える情報処理装置の前記コンピュータによって実行されるプログラムであって、
前記コンピュータを、
前記情報処理装置にインストールされている第１デバイスドライバに割り当てられた接続先を示す接続先設定データを前記メモリから取得する第１取得手段として機能させ、前記第１デバイスドライバは、前記第１デバイスドライバが対応する第１種類の画像形成デバイスに画像形成を指示する画像形成指示を、前記ネットワークインタフェースを通じて、前記接続先設定データが示す接続先に送信するプログラムであり、
前記コンピュータを、
前記接続先設定データが示す接続先である第１接続先がオンラインであるか否かを判断する第１判断手段と、
前記第１判断手段にて前記第１接続先がオフラインであると判断したことに応じて、前記メモリに記憶された接続先候補データが示す接続先のうち、前記第１接続先とは異なる接続先であり、前記第１デバイスドライバが対応する前記第１種類の画像形成デバイスが接続されており、かつ、オンラインである第２接続先を特定する第１特定手段と、
前記第１特定手段によって特定された第２接続先を示すように前記接続先設定データを更新する第１更新手段として機能させるプログラム。
【請求項２】
前記コンピュータを、
第１更新手段によって、第２接続先を示すように前記接続先設定データを更新した後に、前記第１接続先がオンラインとなったか否かを判断する第２判断手段と、
前記第２判断手段にて前記第１接続先がオンラインとなったと判断したことに応じて、前記第１接続先を示すように前記接続先設定データを更新する第２更新手段として機能させる、
請求項１に記載のプログラム。
【請求項３】
前記コンピュータを、
第１更新手段によって、第２接続先を示すように前記接続先設定データを更新した後に、前記第２接続先がオンラインであるか否かを判断する第３判断手段と、
前記第２判断手段にて前記第１接続先がオンラインとなっていないと判断し、かつ、前記第３判断手段にてオンラインでないと判断したことに応じて、前記接続先候補データが示す接続先のうち、前記第１接続先及び前記第２接続先とは異なる接続先であり、前記第１デバイスドライバが対応する前記第１種類の画像形成デバイスが接続されており、かつ、オンラインである第３接続先を特定する第２特定手段と、
前記第２特定手段によって特定された前記第３接続先を示すように前記接続先設定データを更新する第３更新手段として機能させる、
請求項２に記載のプログラム。
【請求項４】
前記コンピュータを、前記メモリに記憶された監視対象データに示される、前記情報処理装置にインストールされている複数のデバイスドライバの各々について監視対象とするか否かの情報に基づいて、監視対象とする前記デバイスドライバの各々について、前記第１取得手段と、前記第１判断手段と、前記第１特定手段と、前記第１更新手段として機能させる、
請求項１から３のいずれかに記載のプログラム。
【請求項５】
前記第１判断手段は、応答要求を、前記ネットワークインタフェースを通じて、前記第１接続先に送信し、該応答要求に対する応答を前記ネットワークインタフェースを通じて所定時間内に受け取ったことに応じて、前記第１接続先がオンラインであると判断し、該応答要求に対する応答を前記ネットワークインタフェースを通じて所定時間内に受け取らないことに応じて、前記第１接続先がオフラインであると判断する、
請求項１から４のいずれかに記載のプログラム。
【請求項６】
前記第１デバイスドライバは、前記情報処理装置のＯＳが備える印刷システム上で動作するプリンタドライバであり、前記接続先設定データが示す接続先は印刷ポートであり、
前記第１更新手段は、前記ＯＳが前記印刷システムで用いるために設けた前記第１デバイスドライバに割り付けられた前記印刷ポートを示すレジストリである前記接続先設定データを、該接続先設定データが示す接続先が前記第２接続先となるように更新する、
請求項１から５のいずれかに記載のプログラム。
【請求項７】
前記コンピュータを、
前記情報処理装置に前記第１デバイスドライバをインストールするインストール手段として機能させ、前記インストール手段は、
前記ネットワークインタフェースを介して前記情報処理装置が接続される通信ネットワークに接続され、かつ、オンラインである前記第１種類の画像形成デバイスのうち、前記第１デバイスドライバに割り当てられるよう設定する１つの画像形成デバイスを指定する操作入力を、前記コンピュータが接続する入力インタフェースに含まれるユーザインタフェースを通じて受け付ける第１受付手段と、
前記第１受付手段が受け付けた操作入力が指定する前記画像形成デバイスに対応する印刷ポートの生成を前記情報処理装置のＯＳに対して要求する第１要求手段と、
前記第１要求手段の要求に応じて生成された前記印刷ポートを前記第１接続先として示すように、前記接続先設定データを更新する第２更新手段と、
前記通信ネットワークに接続され、かつ、オンラインである前記第１種類の画像形成デバイスのうち、前記第１受付手段が受け付けた操作入力が指定する前記画像形成デバイスとは異なる前記画像形成デバイスを特定し、該画像形成デバイスに対応する印刷ポートの生成を前記ＯＳに対して要求する第２要求手段と、
前記第２要求手段の要求に応じて生成された前記印刷ポートを示すように、前記接続先候補データを更新する第３更新手段とを含む、
請求項１から６のいずれかに記載のプログラム。
【請求項８】
前記プログラムは、第１プログラムと第２プログラムとを含み、
前記第１プログラムは、前記コンピュータを前記インストール手段として機能させ、
前記インストール手段は、前記第１デバイスドライバと共に前記第２プログラムを前記情報処理装置にインストールし、前記第２プログラムは、前記メモリに記憶された監視対象データに示される、前記情報処理装置にインストールされている複数のデバイスドライバの各々について監視対象とするか否かの情報に基づいて、監視対象とする前記デバイスドライバの各々について、前記コンピュータを、前記第１取得手段と、前記第１判断手段と、前記第１特定手段と、前記第１更新手段として機能させるプログラムであり、
前記インストール手段は、
前記第１デバイスドライバが前記監視対象となるように前記監視対象データを更新する第４更新手段を含む、
請求項７に記載のプログラム。
【請求項９】
前記コンピュータを、
前記第１特定手段が特定した前記第２接続先に接続されている前記画像形成デバイスが画像形成が可能な状態にあるか否かを判断する第４判断手段として機能させ、
前記第１更新手段は、前記第４判断手段が可能な状態にあると判断したことに応じて、前記接続先設定データを更新する、
請求項１から８のいずれかに記載のプログラム。
【請求項１０】
前記コンピュータを、
前記メモリに記憶された印刷許否設定データが示す情報に基づいて、前記第２接続先が、前記情報処理装置との接続が許可された接続先であるか否かを判断する第５判断手段として機能させ、
前記第１更新手段は、前記第５判断手段が許可された接続先であると判断したことに応じて、前記接続先設定データを更新する、
請求項１から９のいずれかに記載のプログラム。
【請求項１１】
前記コンピュータを、
前記情報処理装置に前記第１デバイスドライバをインストールするインストール手段として機能させ、前記インストール手段は、
前記ネットワークインタフェースを介して前記情報処理装置が接続される通信ネットワークに接続され、かつ、オンラインである前記第１種類の画像形成デバイスのうち、前記第１デバイスドライバに割り当てられるよう設定する１つの画像形成デバイスを指定する操作入力を、前記コンピュータが接続する入力インタフェースに含まれるユーザインタフェースを通じて受け付ける第１受付手段と、
前記第１受付手段が受け付けた操作入力が指定する前記画像形成デバイスに対応する印刷ポートの生成を前記情報処理装置のＯＳに対して要求する第１要求手段と、
前記第１要求手段の要求に応じて生成された前記印刷ポートを前記第１接続先として示すように、前記接続先設定データを更新する第２更新手段と、
前記通信ネットワークに接続され、かつ、オンラインである前記第１種類の画像形成デバイスのうち、前記第１受付手段が受け付けた操作入力が指定する前記画像形成デバイスとは異なる前記画像形成デバイスを特定し、該画像形成デバイスに対応する印刷ポートの生成を前記ＯＳに対して要求する第２要求手段と、
前記第２要求手段の要求に応じて生成された前記印刷ポートを示すように、前記接続先候補データを更新する第３更新手段と、
前記第２要求手段の要求に応じて生成された前記印刷ポートについて、前記情報処理装置との接続を許可するか否かを指定する操作入力を、前記コンピュータが接続する入力インタフェースに含まれるユーザインタフェースを通じて受け付ける第２受付手段と、
前記第２受付手段が受け付けた指定に基づいて、前記印刷許否設定データを生成して前記メモリに記憶させる第１生成手段とを含む、
請求項１０に記載のプログラム。
【請求項１２】
前記コンピュータを、
前記第５判断手段が接続が許可された接続先でないと判断したことに応じて、前記第２接続先に接続することを承諾するか否かを指定する操作入力を、前記情報処理装置が有する入力インタフェースに含まれるユーザインタフェースを通じて受け付ける第３受付手段として機能させ、
前記第１更新手段は、前記第３受付手段が承諾することを指定する操作入力を受け付けたことに応じて、前記接続先設定データを更新する、
請求項１０または１１に記載のプログラム。
【請求項１３】
前記第１更新手段は、
前記第１特定手段が特定した前記第２接続先のうち、前記メモリに記憶された優先順位設定データが示す優先順位が最も上位である接続先を示すように前記接続先設定データを更新する、
請求項１から１２のいずれかに記載のプログラム。
【請求項１４】
前記コンピュータを、
前記情報処理装置に前記第１デバイスドライバをインストールするインストール手段として機能させ、前記インストール手段は、
前記ネットワークインタフェースを介して前記情報処理装置が接続される通信ネットワークに接続され、かつ、オンラインである前記第１種類の画像形成デバイスのうち、前記第１デバイスドライバに割り当てられるよう設定する１つの画像形成デバイスを指定する操作入力を、前記コンピュータが接続する入力インタフェースに含まれるユーザインタフェースを通じて受け付ける第１受付手段と、
前記第１受付手段が受け付けた操作入力が指定する前記画像形成デバイスに対応する印刷ポートの生成を前記情報処理装置のＯＳに対して要求する第１要求手段と、
前記第１要求手段の要求に応じて生成された前記印刷ポートを前記第１接続先として示すように、前記接続先設定データを更新する第２更新手段と、
前記通信ネットワークに接続され、かつ、オンラインである前記第１種類の画像形成デバイスのうち、前記第１受付手段が受け付けた操作入力が指定する前記画像形成デバイスとは異なる前記画像形成デバイスを特定し、該画像形成デバイスに対応する印刷ポートの生成を前記ＯＳに対して要求する第２要求手段と、
前記第２要求手段の要求に応じて生成された前記印刷ポートを示すように、前記接続先候補データを更新する第３更新手段と、
前記第２要求手段の要求に応じて生成された前記印刷ポートについて、前記情報処理装置との接続の優先順位を指定する操作入力を、前記コンピュータが接続する入力インタフェースに含まれるユーザインタフェースを通じて受け付ける第４受付手段と、
前記第４受付手段が受け付けた指定に基づいて、前記優先順位設定データを生成して前記メモリに記憶させる第２生成手段とを含む、
請求項１３に記載のプログラム。
【請求項１５】
前記コンピュータを、
前記優先順位設定データが示す優先順位が前記第２接続先に対して設定されているか否かを判断する第６判断手段と、
前記第６判断手段が設定されていないと判断したことに応じて、前記第２接続先に接続することを承諾するか否かを指定する操作入力を、前記情報処理装置が有する入力インタフェースに含まれるユーザインタフェースを通じて受け付ける第５受付手段として機能させ、
前記第１更新手段は、前記第５受付手段が承諾することを指定する操作入力を受け付けたことに応じて、前記接続先設定データを更新する、
請求項１３または１４に記載のプログラム。
【請求項１６】
前記コンピュータを、
前記優先順位設定データが示す前記優先順位について、前記第２接続先に対して設定されている前記優先順位が所定の閾値以上か否かを判断する第７判断手段と、
前記第７判断手段が所定の閾値以上でないと判断したことに応じて、前記第２接続先に接続することを承諾するか否かを指定する操作入力を、前記情報処理装置が有する入力インタフェースに含まれるユーザインタフェースを通じて受け付ける第６受付手段として機能させ、
前記第１更新手段は、前記第６受付手段が承諾することを指定する操作入力を受け付けたことに応じて、前記接続先設定データを更新する、
請求項１３または１４に記載のプログラム。
【請求項１７】
前記コンピュータを、
前記第１デバイスドライバに前記画像形成指示を行わせることを指定する操作入力を前記情報処理装置が有する入力インタフェースに含まれるユーザインタフェースを通じて受け付けたことに応じて、前記接続先設定データが示す接続先が前記第１接続先であるか否かを判断する第８判断手段と、
前記第８判断手段が前記第１接続先であると判断したことに応じて、前記第１デバイスドライバに対応する第１オブジェクトを含む第１表示画面を前記コンピュータが接続するディスプレイに表示させる第１表示手段と、
前記第８判断手段が前記第１接続先でないと判断したことに応じて、前記第１オブジェクトを含む第２表示画面を前記ディスプレイに表示させる第２表示手段として機能させ、
前記第２表示画面に含まれる前記第１オブジェクトの表示態様は、前記第１表示画面に含まれる前記第１オブジェクトの表示態様と異なる、
請求項１から１６のいずれかに記載のプログラム。
【請求項１８】
前記第１更新手段は、前記接続先設定データに含まれる前記第１デバイスドライバに対応する表示文字列を、第１文字列から、前記第１文字列と異なる第２文字列に変更し、
前記第１表示画面に含まれる前記第１オブジェクトは、前記表示文字列である前記第１文字列を含み、
前記第２表示画面に含まれる前記第１オブジェクトは、前記表示文字列である前記第２文字列を含む、
請求項１７に記載のプログラム。
【請求項１９】
前記コンピュータを、
前記第８判断手段が前記第１接続先でないと判断したことに応じて、
前記メモリに記憶された印刷許否設定データが示す情報に基づいて、前記接続先設定データが示す接続先が、前記情報処理装置との接続が許可された接続先であるか否かを判断する第９判断手段として機能させ、
前記第２表示手段は、前記第９判断手段が許可された接続先であると判断したことに応じて、前記第２表示画面を表示させ、
前記コンピュータを、
前記第９判断手段が許可された接続先でないと判断したことに応じて、前記第１オブジェクトと第２オブジェクトとを含む第３表示画面を前記ディスプレイに表示させる第３表示手段として機能させ、
前記第３表示画面に含まれる前記第１オブジェクトの表示態様は、前記第１表示画面に含まれる前記第１オブジェクトの表示態様と異なり、
前記第２オブジェクトは、前記第１デバイスドライバに割り当てられている接続先が許可された接続先でないことを示すオブジェクトである、
請求項１７または１８に記載のプログラム。
【請求項２０】
前記コンピュータを、
前記第９判断手段が前記第１接続先でないと判断したことに応じて、前記ユーザインタフェースを通じて受け付ける操作入力に連動して前記ディスプレイの表示画面上を移動するポインタ画像と、前記第２表示画面に含まれる第３オブジェクトとの間の距離を取得する距離取得手段として機能させ、前記第３オブジェクトは、第１デバイスドライバに対する前記画像形成デバイスへの画像形成指示の送信指示を示すオブジェクトであり、
前記プログラムは、前記コンピュータを、
前記距離取得手段が取得した距離が距離が所定の閾値を下回ったことに応じて、前記第１デバイスドライバに割り当てられた接続先が前記第１接続先でないことを示す第４オブジェクトを前記ディスプレイに表示させる第４表示手段として機能させる、
請求項１７から１９のいずれかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置のコンピュータによって実行されるプログラムに関する。
【背景技術】
【０００２】
例えば特許文献１には、画像形成装置に対しジョブの処理を要求するドライバと、画像形成装置から状態を受信して表示装置に表示させるステータスモニタとを備える情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１６７７１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
画像形成装置と情報処理装置とが通信ネットワークを介して接続されることが想定される。通信ネットワーク又は画像形成装置に障害が発生した場合や、画像形成装置が電源ＯＦＦの場合には、情報処理装置と画像形成装置との間で通信が不可能となり、画像形成装置がいわゆるオフラインの状態となる。そうすると、情報処理装置のユーザは、画像形成装置と情報処理装置との通信が回復して画像形成装置がいわゆるオンラインとなるまで、当該画像形成装置を用いて印刷を行うことができない。
【０００５】
特許文献１に記載された情報処理装置のユーザは、画像形成装置での印刷失敗の通知が情報処理装置のディスプレイに表示された時に初めて、画像形成装置がオフラインであることに気付く場合がある。この場合にはユーザは、印刷失敗の通知が表示されてから画像形成装置のオフラインへの対処を開始することになるから、印刷の開始がユーザの意図より大きく遅れてしまい不便である。
【０００６】
本発明は、前記の事情に鑑みてなされたものであり、その目的は、画像形成装置がオフラインとなって画像形成が不可能となる事態を抑制することができる手段を提供することにある。
【課題を解決するための手段】
【０００７】
本明細書では様々な開示を行う。開示例の一例であるプログラムは、ネットワークインタフェースと、メモリと、コンピュータとを備える情報処理装置の前記コンピュータによって実行される。プログラムは、コンピュータを、情報処理装置にインストールされている第１デバイスドライバに割り当てられた接続先を示す接続先設定データをメモリから取得する第１取得手段として機能させる。第１デバイスドライバは、第１デバイスドライバが対応する第１種類の画像形成デバイスに画像形成を指示する画像形成指示を、ネットワークインタフェースを通じて、接続先設定データが示す接続先に送信するプログラムである。プログラムは、コンピュータを、接続先設定データが示す接続先である第１接続先がオンラインであるか否かを判断する第１判断手段と、第１判断手段にて第１接続先がオフラインであると判断したことに応じて、メモリに記憶された接続先候補データが示す接続先のうち、第１接続先とは異なる接続先であり、第１デバイスドライバが対応する第１種類の画像形成デバイスが接続されており、かつ、オンラインである第２接続先を特定する第１特定手段と、第１特定手段によって特定された第２接続先を示すように接続先設定データを更新する第１更新手段として機能させる。
【０００８】
プログラムは、第１接続先がオフラインであると、第１デバイスドライバに割り当てられた接続先を、オンラインである第２接続先に変更する。第２接続先は、第１デバイスドライバが対応する第１種類の画像形成デバイスが接続されている。従って、第１接続先がオフラインになった場合でも、ユーザは第２接続先の画像形成デバイスで印刷することができる。その結果、接続先がオフラインとなって画像形成が不可能となる事態を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係るシステム１００のブロック図である。
【図２】インストール処理のフローチャートである。
【図３】ポート監視処理のフローチャートである。
【図４】印刷処理のフローチャートである。
【図５】メモリ２５に記憶される接続先設定データの例を示す図である。
【図６】メモリ２５に記憶される接続先候補データの例を示す図である。
【図７】（Ａ）は、メモリ２５に記憶される接続許否設定データの例を示す図であり、（Ｂ）は、メモリ２５に記憶される優先順位データの例を示す図である。
【図８】（Ａ）は、第１プリンタ選択画面を示す図であり、（Ｂ）は、第２プリンタ選択画面を示す図である。
【図９】（Ａ）は、第３プリンタ選択画面を示す図であり、（Ｂ）は、ディスプレイ２１に第２プリンタ選択画面、オブジェクト８３及び８４が表示された状態を示す図である。
【発明を実施するための形態】
【００１０】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【００１１】
図１は、本実施形態に係るシステム１００の概略図である。図１に示されるシステム１００は、ＰＣ１０と、複数のＭＦＰ（Multi-Function Peripheralの略）５０とで構成されている。ＰＣ１０は、情報処理装置の一例である。ＭＦＰ５０は、画像形成デバイスの一例である。図示例では、５つのＭＦＰ５０Ａ〜５０Ｅが示されているが、ＭＦＰの数は５つに限られない。また、システム１００は、ＭＦＰ５０に代えて、プリント単能機を含んでもよい。
【００１２】
ＰＣ１０及びＭＦＰ５０は、通信ネットワーク１０１を通じて相互に通信可能に構成されている。通信ネットワーク１０１の具体例は特に限定されないが、例えば、インターネット、有線ＬＡＮ、無線ＬＡＮ、或いはこれらの組み合わせであってもよい。または、ＭＦＰ１０及びＰＣ５０は、ＵＳＢケーブル等によって接続されていてもよい。 
【００１３】
ＰＣ１０は、ディスプレイ２１と、入力Ｉ／Ｆ２２と、ネットワークＩ／Ｆ２３と、ＣＰＵ２４と、メモリ２５と、通信バス２６と、を主に備える。ＰＣ１０を構成する各構成要素は、通信バス２６を通じて相互に接続されている。
【００１４】
ディスプレイ２１は、液晶ディスプレイ、有機ＥＬディスプレイ等であり、各種情報を表示する表示画面を備える。 
【００１５】
入力Ｉ／Ｆ２２は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力Ｉ／Ｆ２２はキーボードやマウスであり、各種の操作信号をＣＰＵ２４へ出力する。さらに、入力Ｉ／Ｆ２２は、ディスプレイ２１の表示面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ２１の表示面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ２１に表示された文字列、アイコン、ボタン、リンク、ラジオボタン、チェックボックス、プルダウンメニュー等である。 
【００１６】
タッチセンサとして実現される入力Ｉ／Ｆ２２は、ユーザがタッチした表示面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示面に接触させる操作全般を含む。また、入力媒体が表示面に触れていなくても、表示面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ２１に表示されたオブジェクトの位置をタップするユーザ操作は、当該オブジェクトを指定する操作入力の一例である。
【００１７】
ネットワークＩ／Ｆ２３は、通信ネットワーク１０１を通じて外部装置と通信可能なインタフェースである。すなわち、ＰＣ１０は、ネットワークＩ／Ｆ２３を通じて外部装置に各種情報を送信し、ネットワークＩ／Ｆ２３を通じて外部装置から各種情報を受信する。ネットワークＩ／Ｆ２３の具体的な通信手順は特に限定されないが、例えば、Ｗｉ−Ｆｉ（登録商標）を採用することができる。また、ＰＣ１０及びＭＦＰ５０がＵＳＢケーブルで接続される場合、ネットワークＩ／Ｆ２３は、ＵＳＢケーブルを着脱可能なＵＳＢインタフェースであってもよい。 
【００１８】
ＣＰＵ２４は、ＰＣ１０の全体動作を制御するものである。ＣＰＵ２４は、入力Ｉ／Ｆ２２から出力される各種情報、ネットワークＩ／Ｆ２３を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ２５から取得して実行する。ＣＰＵ２４は、コンピュータの一例である。 
【００１９】
メモリ２５は、ＯＳ３１と、プリンタドライバ３２と、インストーラ３３と、ステータスモニタ３４と、文書プログラム３５と、接続先設定データ（図５）と、接続先候補データ（図６）と、印刷許否設定データ（図７（Ａ））と、優先順位設定データ（図７（Ｂ））と、監視対象データ（不図示）と、を記憶している。また、メモリ２５は、各プログラムの実行に必要なデータ或いは情報等を記憶する。メモリ２５は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ、ＰＣ１０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ２４が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【００２０】
メモリ２５は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。 
【００２１】
プリンタドライバ３２は、対応する機種のＭＦＰ５０に印刷を指示する印刷指示を、ネットワークＩ／Ｆ２３を通じて送信するプログラムである。詳しくはプリンタドライバ３２は、レジストリが示す、該プリンタドライバ３２に割り付けられた印刷ポートに対して印刷指示を出力する。レジストリは、ＯＳ３１によって定義される記憶領域である。プリンタドライバ３２などのプログラムは、ＯＳ３１と協働する際に、レジストリに記憶されている情報を参照する。プリンタドライバ３２は、ＯＳ３１が備える印刷システム上で動作する。図示例では、第１プリンタドライバ３２Ａと、第２プリンタドライバ３２Ａとが示されている。本実施形態では、第１プリンタドライバ３２Ａは、機種「ＭＦＰ−Ａ」であるＭＦＰ５０Ａ、ＭＦＰ５０Ｂ、及びＭＦＰ５０Ｃに対応する。第２プリンタドライバ３２Ｂは、機種「ＭＦＰ−Ｂ」であるＭＦＰ５０Ｄ、及びＭＦＰ５０Ｅに対応する。第１プリンタドライバ３２Ａ、及び第２プリンタドライバ３２Ａは、デバイスドライバの一例である。ＭＦＰ５０Ａ〜Ｃは、第１種類の画像形成デバイスの一例である。印刷ポートは、接続先の一例である。
【００２２】
インストーラ３３は、ＰＣ１０に、プリンタドライバ３２と、ステータスモニタ３４と、をインストールするプログラムである。図示例では、第１インストーラ３３Ａと、第２インストーラ３３Ａとが示されている。本実施形態では、第１インストーラ３３Ａは、ＰＣ１０に、第１プリンタドライバ３２Ａをインストールする。第２インストーラ３３Ａは、ＰＣ１０に、第２プリンタドライバ３２Ａをインストールする。第１インストーラ３３Ａ及び第２インストーラ３３Ｂは、第１プログラムの一例である。
【００２３】
ステータスモニタ３４は、プリンタドライバ３２に割り付けられた印刷ポートに対応するＭＦＰ５０の状態を監視して、該ＭＦＰ５０がオフラインになったときに、他のオンラインのＭＦＰ５０に対応する印刷ポートへ、プリンタドライバ３２の割り付け先を変更するプログラムである。ステータスモニタ３４は、第２プログラムの一例である。
【００２４】
文書プログラム３５は、文書の作成を行うプログラムである。ＰＣ１０のユーザが、作成した文書の印刷を入力Ｉ／Ｆ２２を用いて指示すると、文書プログラム３５は、印刷が指示された文書を示す画像データをＯＳに出力する。プリンタドライバ３２は、文書プログラム３５が出力した画像データを、ＯＳ経由で取得し、取得した画像データをＭＦＰ５０が処理可能な形式に変換し、ＭＦＰ５０へ送信する。文書プログラムが作成した文書を示す文書データは、画像データの一例である。
【００２５】
接続先設定データ（図５参照）は、ＯＳ３１が印刷システムで用いるために設けた印刷ポートであって、プリンタドライバ３２に割り付けられている印刷ポートを示すレジストリである。接続先設定データは、後述する第１〜第３表示画面に表示される表示文字列を含む。図５（Ａ）が示す例では、機種「ＭＦＰ−Ａ」に対応する第１プリンタドライバ３２Ａには、ポート１が割り付けられており、表示文字列は“ＭＦＰ−Ａ”である。機種「ＭＦＰ−Ｂ」に対応する第２プリンタドライバ３２Ｂには、ポート４が割り付けられており、表示文字列は“ＭＦＰ−Ｂ”である。
【００２６】
接続先候補データ（図６参照）は、プリンタドライバ３２に対応する機種のＭＦＰ５０に接続する印刷ポートと、該印刷ポートの接続先のＭＦＰ５０のＩＰアドレスと、を示すデータである。接続先候補データが示す印刷ポートには、プリンタドライバ３２がインストールされたときにプリンタドライバ３２に割り当てられた印刷ポート（以下「主ポート」と記す場合がある。）と、その余のＭＦＰ５０に接続する印刷ポート（以下「副ポート」と記す場合がある。）と、が含まれる。図示例では、接続先候補データは、第１プリンタドライバ３２Ａに対応する機種「ＭＦＰ−Ａ」のＭＦＰ５０に接続する、主ポートであるポート１と、副ポートであるポート２及びポート３を示す。接続先候補データは、第２プリンタドライバ３２Ｂに対応する機種「ＭＦＰ−Ｂ」のＭＦＰ５０に接続する、主ポートであるポート４と、副ポートであるポート５を示す。
【００２７】
印刷許否設定データ（図７（Ａ）参照）は、各印刷ポート毎に設定された、ＰＣ１０との自動接続を許可するか否かの設定を示すデータである。ＰＣ１０との自動接続とは、後述するステータスモニタ３４による、プリンタドライバ３２に割り付けられた印刷ポートの、候補ポートへの変更を、ユーザの承諾を示す操作入力を受け付けずに行うことをいう。図示例の印刷許否設定データは、ポート２及びポート３のＰＣ１０との自動接続が許可され、ポート５のＰＣ１０との自動接続が許可されない設定を示している。
【００２８】
優先順位設定データ（図７（Ｂ）参照）は、各印刷ポート毎に設定された、ＰＣ１０との接続の優先順位の設定を示すデータである。図示例の優先順位設定データは、ポート２の優先順位が「１」に設定され、ポート２の優先順位が「２」に設定され、ポート５の優先順位が設定されていない例を示している。
【００２９】
監視対象データは、ＰＣ１０にインストールされている複数のプリンタドライバ３２の各々について、ステータスモニタ３４が監視対象とするか否かを示すデータである。
【００３０】
ＭＦＰ５０は、ネットワークＩ／Ｆと、ＣＰＵと、メモリと、通信バスと、プリンタと、を主に備える。ＭＦＰ５０に含まれるネットワークＩ／Ｆ、ＣＰＵ、メモリ、及び通信バスは、ＰＣ１０に含まれるネットワークＩ／Ｆ２３、ＣＰＵ２４、メモリ２５、通信バス２６と同様の構成であるので、説明は省略する。
【００３１】
プリンタは、画像データで示される画像をシートに記録するプリント動作を実行する。プリンタの記録方式としては、インクジェット方式や電子写真方式などの公知の方式を採用することができる。
【００３２】
ＭＦＰ５０のメモリは、自己に付されたＩＰアドレス及びＭＡＣアドレスと、ＭＩＢ（Management Information Baseの略）と、を記憶している。ＭＩＢは、例えば、「ＭＦＰ−Ａ」などの機種名や、装置情報などを含む、情報の集合である。装置情報は、「モノクロ限定」や、「カラー／モノクロ」や、「片面印刷限定」や、「片面／両面印刷」や、「Ａ４限定」や、「Ａ４／Ｂ５／Ａ３／レター」や、「スキャン可」や「スキャン不可」など、ＭＦＰ２０が実行可能な機能を示す情報である。
【００３３】
図２〜図４を参照して、本実施形態に係るシステム１００の動作を説明する。本実施形態に係るシステム１００では、図２が示すインストール処理と、図５が示すポート監視処理と、図３が示す印刷処理と、が行われる。
【００３４】
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ３１、６１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」等の処理は、ＣＰＵ２４の処理を表している。ＣＰＵ２４による処理は、ＯＳ３１を介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵが要求することなくデータを受信するという処理も、「ＣＰＵがデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
【００３５】
また、プログラムに記述された命令に従ったＣＰＵの処理を、省略した文言で記載することがある。例えば、「ＣＰＵ２４が行う」「ステータスモニタ３４が行う」のように記載することがある。
【００３６】
また、ＣＰＵによる、情報Ａは事柄Ｂであることを示しているか否かを判断する処理を、「情報Ａから、事柄Ｂであるか否かを判断する」のように概念的に記載することがある。ＣＰＵによる、情報Ａが事柄Ｂであることを示しているか、事柄Ｃであるかを示しているかを判断する処理を、「情報Ａから、事柄Ｂであるか事柄Ｃであるかを判断する」のように概念的に記載することがある。 
【００３７】
図２を参照してインストール処理について説明する。まず、ＰＣ１０の第１インストーラ３３Ａは、ユーザによって起動されると、通信ネットワーク１０１に接続されているＭＦＰ５０のうちから、オンラインかつ機種「ＭＦＰ−Ａ」であるＭＦＰ５０を検索して特定し、特定されたＭＦＰ５０のＩＰアドレスを含むデバイスリストを作成して、メモリ２５に記憶させる（Ｓ１０１）。
【００３８】
例えば第１インストーラ３３Ａは、ネットワークＩ／Ｆ２３を通じてリクエスト情報を通信ネットワーク１０１にブロードキャストする。リクエスト情報は、自己のＭＡＣアドレス、ＩＰアドレス、及びＭＩＢを含む情報を返信することを要求する要求情報と、送信元（ＰＣ１０）のＩＰアドレス及びＭＡＣアドレスとを含む。リクエスト情報を受信したＭＦＰ５０は、自己のＭＡＣアドレス、ＩＰアドレス、及びＭＩＢを含む応答情報を、送信元であるＰＣ１０宛に返信する。
【００３９】
第１インストーラ３３Ａは、ＭＦＰ５０が送信した応答情報を、リクエスト情報の送信から所定時間内に受信したことに応じて、該ＭＦＰ５０がオンラインであると判断する。第１インストーラ３３Ａは、受信した応答情報に含まれる機種名に基づいて、応答情報を送信したＭＦＰ５０が機種「ＭＦＰ−Ａ」であるか否かを判断する。第１プリンタドライバ３２Ａは、オンラインであると判断し、かつ、機種「ＭＦＰ−Ａ」であると判断したＭＦＰ５０について、応答情報から該ＭＦＰ５０のＩＰアドレスを取得し、該ＩＰアドレスを含むデバイスリストを生成して、メモリ２５に記憶させる。
【００４０】
次に、第１インストーラ３３Ａは、第１プリンタドライバ３２Ａに割り当てられるよう設定する１つのＭＦＰ５０を指定する操作入力を、入力Ｉ／Ｆ２２を通じて受け付ける（Ｓ１０２）。ステップＳ１０２の処理は、第１受付手段の一例である。
【００４１】
例えば第１インストーラ３３Ａは、Ｓ１０１で生成されたデバイスリストが示すＭＦＰ５０のＩＰアドレスを示すＭＦＰ選択画面（不図示）をディスプレイ２１に表示させて、ユーザによるＭＦＰ５０の指定を受け付ける。第１インストーラ３３Ａは、ＭＦＰ５０の指定を受け付けたと判断すると、指定されたＭＦＰ５０のＩＰアドレスをメモリ２５に一時記憶させる。本実施形態では、ＭＦＰ５０Ａが指定されたとする。
【００４２】
次に、第１インストーラ３３Ａは、Ｓ１０２で指定されたＭＦＰ５０に対応する印刷ポートの生成をＯＳ３１に対して要求する（Ｓ１０３）。ＯＳ３１は、Ｓ１０２で指定されたＭＦＰ５０のＩＰアドレスに対応する印刷ポートを生成する。ＯＳ３１は、印刷ポートの生成において、ＩＰアドレスを示す文字列をポート名として決定し、ＩＰアドレスを宛先として通信するプログラム（例えば、ポートモニタ）を決定し、決定したポート名と、ＭＦＰ５０のＩＰアドレスと、決定したプログラムを示す情報とをレジストリに対応付けての記憶させる。本実施形態では、ＭＦＰ５０Ａに対応する印刷ポートとして、主ポートであるポート１が生成されたとする。第１インストーラ３３Ａは、第１プリンタドライバ３２ＡをＰＣ１０にインストールして、ＯＳ３１が生成したポート１が第１プリンタドライバ３２Ａに割り付けられた印刷ポートとなるように、接続先設定データを更新する（Ｓ１０３）。具体的には、第１インストーラ３３Ａは、ＭＦＰ５０Ａを示すプリンタ名を決定し、第１プリンタドライバ３２Ａの情報を記憶するための、レジストリ内のＯＳ３１が作成した領域に、決定したプリンタ名と、ポート１のポート名とを、対応付けて記憶させる。第１インストーラ３３Ａは、例えば、機種名を含む文字列をプリンタ名として決定する。ここでは、「ＭＦＰ−Ａ」というプリンタ名を第１インストーラ３３Ａが決定したものとして説明する。文書プログラム３５など、プリンタドライバを利用するプログラムは、レジストリに記憶されている複数のプリンタ名を、ユーザが選択可能なリストとして表示し、プリンタ名を選択するユーザ操作を受け付けると、プリンタ名をメモリに記憶させ、印刷指示を受け付けたときに利用する。ここでは、文書プログラム３５が、「ＭＦＰ−Ａ」というプリンタ名の選択を受け付け、メモリに記憶したものとして説明する。第１インストーラ３３Ａは、ステータスモニタ３４をＰＣ１０にインストールする（Ｓ１０３）。ステップＳ１０３の処理は、第１要求手段、第２更新手段、及びインストール手段の一例である。ポート１は、第１接続先の一例である。
【００４３】
次に、第１インストーラ３３Ａは、Ｓ１０１で特定されたＭＦＰ５０のうち、Ｓ１０２で指定されなかったＭＦＰ５０について、該ＭＦＰ５０のそれぞれに対応する印刷ポートの生成をＯＳ３１に対して要求する（Ｓ１０４）。ＯＳ３１は、第１インストーラ３３Ａの要求に応じて、該ＭＦＰ５０のＩＰアドレスに対応する印刷ポートを生成する。本実施形態では、ＭＦＰ５０Ｂに対応する印刷ポートとしてポート２が生成され。ＭＦＰ５０Ｃに対応する印刷ポートとしてポート３が生成されたとする。ポート２及びポート３は、副ポートである。ステップＳ１０４の処理は、第２要求手段の一例である。
【００４４】
次に、第１インストーラ３３Ａは、Ｓ１０３で生成された印刷ポートと、Ｓ１０４で生成された印刷ポートと、を示すように、接続先候補データを更新する（Ｓ１０５）。例えば、第１インストーラ３３Ａは、接続先候補データが機種「ＭＦＰ−Ａ」の印刷ポートとしてポート１〜３を示すように、接続先候補データを更新する。ステップＳ１０５の処理は、第３更新手段の一例である。
【００４５】
次に、第１インストーラ３３Ａは、Ｓ１０４で生成された印刷ポートについて、ＰＣ１０との自動接続を許可するか否かを指定する操作入力を、入力Ｉ／Ｆ２２を通じて受け付ける（Ｓ１０６）。第１インストーラ３３Ａは、受け付けた指定に基づいて、印刷許否設定データを生成してメモリ２５に記憶させる（Ｓ１０６）。ステップＳ１０６の処理は、第２受付手段及び第１生成手段の一例である。
【００４６】
例えば第１インストーラ３３Ａは、Ｓ１０４で生成されたポート２及び３を示す印刷許否入力画面（不図示）をディスプレイ２１に表示させて、ユーザによるポート２及び３のＰＣ１０への自動接続許否の指定を受け付ける。第１インストーラ３３Ａは、指定を受け付けたと判断すると、指定されたポート２及び３の自動接続許否を示す印刷許否設定データを生成して、メモリ２５に記憶させる。なお、各ＭＦＰ５０についてＰＣ１０との自動接続を許可するか否かは、システム１００の管理者が決定する。ユーザは、当該決定に従って、接続許否を指定する操作入力を行う。接続許否を指定する操作入力を、管理者が行ってもよい。
【００４７】
次に、第１インストーラ３３Ａは、Ｓ１０４で生成された印刷ポートについて、ＰＣ１０との接続の優先順位を指定する操作入力を、入力Ｉ／Ｆ２２を通じて受け付ける（Ｓ１０７）。第１インストーラ３３Ａは、受け付けた指定に基づいて、優先順位設定データを生成してメモリ２５に記憶させる（Ｓ１０７）。ステップＳ１０７の処理は、第４受付手段及び第２生成手段の一例である。
【００４８】
例えば第１インストーラ３３Ａは、Ｓ１０４で生成されたポート２及び３を示す優先順位入力画面（不図示）をディスプレイ２１に表示させて、ユーザによるポート２及び３のＰＣ１０への接続の優先順位の指定を受け付ける。第１インストーラ３３Ａは、指定を受け付けたと判断すると、指定されたポート２及び３の優先順位を示す優先順位設定データを生成して、メモリ２５に記憶させる。なお、ＰＣ１０との接続の優先順位は、ユーザが決定する。
【００４９】
次に、第１インストーラ３３Ａは、インストールされた第１プリンタドライバ３２Ａについて、ステータスモニタ３４が監視対象とするか否かを指定する操作入力を、入力Ｉ／Ｆ２２を通じて受け付ける（Ｓ１０８）。第１インストーラ３３Ａは、受け付けた指定に基づいて、メモリ２５に記憶された監視対象データを更新する（Ｓ１０８）。ステップＳ１０８の処理は、第４更新手段の一例である。
【００５０】
以上のＳ１０１からＳ１０８までの処理によって、第１プリンタドライバ３２Ａ及びステータスモニタ３４がＰＣ１０にインストールされ、ＭＦＰ５０Ａと接続する印刷ポートであるポート１が、第１プリンタドライバ３２Ａに割り付けられた印刷ポートとなるように、接続先設定データが更新される。
【００５１】
第２インストーラ３３Ｂがユーザによって起動されると、第２インストーラ３３Ｂは、上記のＳ１０１からＳ１０８までの処理と同様の処理を行い、第２プリンタドライバ３２ＢをＰＣ１０にインストールする。例えば、第２インストーラ３３Ｂは、機種「ＭＦＰ−Ｂ」であるＭＦＰ５０Ｄと接続する印刷ポートであるポート４が、第２プリンタドライバ３２Ｂに割り付けられた印刷ポートとなるように、接続先設定データを更新する。なお、ステータスモニタ３４は第１インストーラ３３Ａによってインストールされているので、Ｓ１０３におけるステータスモニタ３４のインストールは、行われない。
【００５２】
図３を参照してポート監視処理について説明する。ステータスモニタ３４は、ＰＣ１０がユーザによって起動されると、監視対象データに示されるステータスモニタ３４が監視対象とするプリンタドライバ３２について、図３が示すポート監視処理を実行する。複数のプリンタドライバ３２が監視対象とされている場合、ステータスモニタ３４は、複数のプリンタドライバ３２に対して順に、図３が示すポート監視処理を実行する。以下、第１プリンタドライバ３２Ａが監視対象である場合について説明する。なお、図３が示すポート監視処理は、ＰＣ１０が起動している間、所定の時間間隔で繰り返し実行される。
【００５３】
まず、ステータスモニタ３４は、接続先設定データをメモリ２５から取得する（Ｓ２０１）。Ｓ２０１の処理は、第１取得手段の一例である。
【００５４】
次に、ステータスモニタ３４は、接続先候補データが示す主ポートであるポート１がオンラインであるか否かを判断する（Ｓ２０２）。ステップＳ２０２の処理は、第２判断手段の一例である。
【００５５】
例えば、ステータスモニタ３４は、応答要求を、ネットワークＩ／Ｆ２３を通じて、ポート１と接続するＭＦＰ５０Ａに送信し、該応答要求に対する応答をネットワークＩ／Ｆ２３を通じて所定時間内に受け取ったことに応じて、ポート１と接続するＭＦＰ５０Ａがオンラインであると判断し（Ｓ２０２：Ｙｅｓ）、該応答要求に対する応答をネットワークＩ／Ｆ２３を通じて所定時間内に受け取らないことに応じて、ポート１と接続するＭＦＰ５０Ａがオフラインであると判断する（Ｓ２０２：Ｎｏ）。なお、応答要求は、自己のＭＡＣアドレス、ＩＰアドレス、及びＭＩＢを含む情報を返信することを要求する要求情報と、送信元（ＰＣ１０）のＩＰアドレス及びＭＡＣアドレスとを含む。応答要求を受信したＭＦＰ５０は、自己のＭＡＣアドレス、ＩＰアドレス、及びＭＩＢを含む応答情報を、送信元であるＰＣ１０宛に返信する。以下、印刷ポートがオンラインであるか否かの判断は、上記と同様に行う。
【００５６】
ステータスモニタ３４は、Ｓ２０２にて、ポート１がオフラインであると判断すると（Ｓ２０２：Ｙｅｓ）、接続先設定データが示す接続先である印刷ポートが、接続先候補データが示す主ポートであるポート１であるか否かを判断する（Ｓ２０３）。
【００５７】
ステータスモニタ３４は、Ｓ２０３にて、接続先設定データが示す接続先がポート１でないと判断すると（Ｓ２０３：Ｎｏ）、接続先設定データが示す接続先である印刷ポートが、オンラインであるか否かを判断する（Ｓ２０４）。ステップＳ２０４の処理は、第３判断手段の一例である。
【００５８】
ステータスモニタ３４は、オンラインであると判断すると（Ｓ２０４：Ｙｅｓ）、ポート監視処理を終了する。ステップＳ２０２及びステップＳ２０３の処理は、第１判断手段の一例である。
【００５９】
ステータスモニタ３４は、Ｓ２０３にて接続先設定データが示す接続先がポート１であると判断すると（Ｓ２０３：Ｙｅｓ）、または、Ｓ２０４にて接続先設定データが示す接続先がオフラインであると判断すると（Ｓ２０４：Ｎｏ）、接続先候補データが示す接続先のうち、主ポートであるポート１を除く接続先へ、状態情報を要求する（Ｓ２０５）。例えば、ステータスモニタ３４は、状態要求情報を、ネットワークＩ／Ｆ２３を通じて、ポート２と接続するＭＦＰ５０Ｂと、ポート３と接続するＭＦＰ５０Ｃと、に送信する。なお、状態要求情報は、自己のＭＡＣアドレス、ＩＰアドレス、及び状態情報を返信することを要求する情報と、送信元（ＰＣ１０）のＩＰアドレス及びＭＡＣアドレスとを含む。状態要求情報を受信したＭＦＰ５０は、自己のＭＡＣアドレス、ＩＰアドレス、及び状態情報を、送信元であるＰＣ１０宛に返信する。状態情報は、自己が印刷可能な状態であるか否かを示す情報である。例えば状態情報は、用紙切れであるか否か、インク切れであるか否か、メンテナンス中（カバー開）であるか否か、の情報を含む。
【００６０】
ステータスモニタ３４は、ＭＦＰ５０が送信した状態情報を、状態要求情報の送信から所定時間内に受信したことに応じて、該ＭＦＰ５０がオンラインであると判断する。ステータスモニタ３４は、オンラインであると判断したＭＦＰ５０と接続する印刷ポートのうち、優先順位設定データが示す優先順位が最も高い印刷ポートを、候補ポートとして特定する（Ｓ２０６）。ステップＳ２０６の処理は、第１特定手段の一例である。候補ポートは、第２接続先及び第３接続先の一例である。
【００６１】
ステータスモニタ３４は、Ｓ２０６で特定された候補ポートに接続するＭＦＰ５０が印刷可能な状態にあるか否かを、該ＭＦＰ５０から受信した状態情報に基づいて判断する（Ｓ２０７）。例えば、ステータスモニタ３４は、状態情報が示すＭＦＰ５０の状態が、用紙切れ、インク切れ、又はメンテナンス中である場合に、印刷可能な状態にないと判断する。ステータスモニタ３４は、印刷可能な状態にないと判断したことに応じて（Ｓ２０７：Ｎｏ）、ポート監視処理を終了する。ステップＳ２０７の処理は、第４判断手段の一例である。
【００６２】
ステータスモニタ３４は、印刷可能な状態にあると判断すると（Ｓ２０７：Ｙｅｓ）、印刷許否設定データが示す情報に基づいて、候補ポートが、ＰＣ１０との自動接続が許可された接続先であるか否かを判断し、優先順位設定データが示す優先順位が候補ポートに対して設定されているか否かを判断する（Ｓ２０８）。ステップＳ２０８の処理は、第５判断手段及び第６判断手段の一例である。
【００６３】
ステータスモニタ３４は、許可された接続先でない、又は、優先順位が設定されていないと判断したことに応じて（Ｓ２０８：Ｎｏ）、候補ポートに接続することを承諾するか否かを指定する操作入力を、入力Ｉ／Ｆ２２を通じて受け付ける（Ｓ２０９）。ステップＳ２０９の処理は、第３受付手段及び第５受付手段の一例である。
【００６４】
例えば、ステータスモニタ３４は、接続承諾画面（不図示）をディスプレイ２１に表示させる。接続承諾画面は、「主プリンタがオフラインのため、自動接続が許可されていないプリンタに接続します。」の文字と、「はい」アイコンと、「いいえ」アイコンとを有する。ステータスモニタ３４は、ユーザによるアイコンの選択を監視する。ステータスモニタ３４は、ユーザがアイコンを選択したと判断すると、ユーザが選択したアイコンを判断する。ユーザが「いいえ」アイコンを選択したと判断すると（Ｓ２０９：Ｎｏ）、ステータスモニタ３４は、ポート監視処理を終了する。
【００６５】
ステータスモニタ３４は、ユーザが「はい」アイコンを選択したと判断すると（Ｓ２０９：Ｙｅｓ）、またはＳ２０８にて候補ポートが自動接続が許可された接続先であり、かつ優先順位が設定されていると判断すると（Ｓ２０８：Ｙｅｓ）、Ｓ２０６にて特定された候補ポートを示すように接続先設定データを更新する（Ｓ２１０）。ステータスモニタ３４は、接続先設定データに含まれる、第１プリンタドライバ３２Ａに対応する表示文字列を、候補ポートに対応する表示文字列に変更する（Ｓ２１０）。
【００６６】
例えば、ステータスモニタ３４は、接続先設定データであるレジストリの、第１プリンタドライバ３２Ａに割り付けられている印刷ポートを、Ｓ２０６にて特定された候補ポートに変更し、第１プリンタドライバ３２Ａの表示文字列に候補ポートのポート名を示す文字列（例えば「（ポート２）」）を追加する。そしてステータスモニタ３４は、ポート監視処理を終了する。ステップＳ２１０の処理は、第１更新手段及び第３更新手段の一例である。
【００６７】
ステータスモニタ３４は、Ｓ２０２にて、ポート１がオンラインであると判断すると（Ｓ２０２：Ｙｅｓ）、接続先設定データが示す接続先である印刷ポートが、接続先候補データが示す主ポートであるポート１であるか否かを判断する（Ｓ２１１）。ステータスモニタ３４は、ポート１であると判断すると（Ｓ２１１：Ｙｅｓ）、ポート監視処理を終了する。
【００６８】
ステータスモニタ３４は、ポート１でないと判断すると（Ｓ２１１：Ｎｏ）、主ポートであるポート１を示すように接続先設定データを更新する。ステータスモニタ３４は、接続先設定データに含まれる、第１プリンタドライバ３２Ａに対応する表示文字列を、ポート１に対応する表示文字列に変更する（Ｓ２１２）。そしてステータスモニタ３４は、ポート監視処理を終了する。ステップＳ２１２の処理は、第２更新手段の一例である。
【００６９】
以上述べたポート監視処理について、具体例にて説明する。第１インストーラ３３Ａによって第１プリンタドライバ３２Ａ及びステータスモニタ３４がＰＣ１０にインストールされ、第１プリンタドライバ３２ＡにＭＦＰ５０Ａと接続するポート１が割り付けられているとする。レジストリである接続先設定データには、図５（Ａ）が示すように、機種「ＭＦＰ−Ａ」の第１プリンタドライバ３２Ａの接続先がポート１であり、第１プリンタドライバ３２Ａの表示文字列が「ＭＦＰ−Ａ」である旨が示されているとする。
【００７０】
図６が示すように、接続先候補データに、主ポートであるポート１と、副ポートであってＭＦＰ５０Ｂと接続するポート２と、副ポートであってＭＦＰ５０Ｃと接続するポート３が示されているとする。図７（Ａ）が示すように、印刷許否設定データには、ＰＣ１０との自動接続について、ポート２及びポート３が許可される旨が示されているとする。図７（Ｂ）が示すように、優先順位設定データには、ポート２の優先順位が「１」に設定され、ポート３の優先順位が「２」に設定されている旨が示されているとする。
【００７１】
ポート１と接続するＭＦＰ５０Ａがオンラインであるときに、ポート監視処理が実行されたとする。ステータスモニタ３４は、Ｓ２０２：Ｙｅｓ、Ｓ２１１：Ｙｅｓと判断し、ポート監視処理を終了する。第１プリンタドライバ３２Ａに割り付けられた印刷ポートは変更されない。
【００７２】
ポート１と接続するＭＦＰ５０Ａがオフラインになり、ＭＦＰ５０Ｂ及びＭＦＰ５０Ｃはオンライン且つ印刷可能な状態であるときに、ポート監視処理が実行されたとする。ステータスモニタ３４は、Ｓ２０２：Ｎｏ、Ｓ２０３：Ｙｅｓと判断し、Ｓ２０５及びＳ２０６の処理を行う。ステータスモニタ３４は、オンライン且つ優先順位が最も高いポート２を、候補ポートとして特定する。ステータスモニタ３４は、Ｓ２０７：Ｙｅｓ、Ｓ２０８：Ｙｅｓと判断する。ステータスモニタ３４は、Ｓ２１０の処理を実行して、第１プリンタドライバ３２Ａの接続先がポート２となるよう、接続先設定データであるレジストリを更新する。このとき、接続先設定データは図５（Ｂ）が示す状態となり、機種「ＭＦＰ−Ａ」の第１プリンタドライバ３２Ａの接続先がポート２であり、第１プリンタドライバ３２Ａの表示文字列が「ＭＦＰ−Ａ（ポート２）」である旨を示す状態となる。以上の処理により、第１プリンタドライバ３２Ａの接続先の印刷ポートが、オフラインであるポート１から、オンライン且つ印刷可能な状態であるポート２へ変更される。
【００７３】
第１プリンタドライバ３２Ａの接続先の印刷ポートがポート２に変更された後、ポート１と接続するＭＦＰ５０Ａがオンラインになったときに、ポート監視処理が実行されたとする。ステータスモニタ３４は、Ｓ２０２：Ｙｅｓ、Ｓ２０３：Ｎｏと判断する。ステータスモニタ３４は、Ｓ２１２の処理を実行して、第１プリンタドライバ３２Ａの接続先がポート１となるよう、接続先設定データであるレジストリを更新する。以上の処理により、第１プリンタドライバ３２Ａの接続先の印刷ポートが、ポート２のＭＦＰ５０Ｂから、オンラインであるポート１のＭＦＰ５０Ａへ変更される。このとき、接続先設定データは図５（Ａ）が示す状態となる。
【００７４】
第１プリンタドライバ３２Ａの接続先の印刷ポートがポート２に変更された後、ポート１とポート２の両方がオフラインになり、ポート３はオンラインであるときに、ポート監視処理が実行されたとする。ステータスモニタ３４は、Ｓ２０２：Ｎｏ、Ｓ２０３：Ｎｏ、Ｓ２０４：Ｎｏと判断する。ステータスモニタ３４は、オンライン且つ優先順位が最も高いポート３を、候補ポートとして特定する。ステータスモニタ３４は、Ｓ２０７：Ｙｅｓ、Ｓ２０８：Ｙｅｓと判断する。ステータスモニタ３４は、Ｓ２１０の処理を実行して、第１プリンタドライバ３２Ａの接続先がポート３となるよう、接続先設定データであるレジストリを更新する。このとき、接続先設定データは図５（Ｃ）が示す状態となり、機種「ＭＦＰ−Ａ」の第１プリンタドライバ３２Ａの接続先がポート３であり、第１プリンタドライバ３２Ａの表示文字列が「ＭＦＰ−Ａ（ポート３）」である旨を示す状態となる。以上の処理により、第１プリンタドライバ３２Ａの接続先の印刷ポートが、オフラインであるポート２から、オンライン且つ印刷可能な状態であるポート３へ変更される。
【００７５】
図４を参照して印刷処理について説明する。文書プログラム３５は、作成した文書の印刷をユーザが入力Ｉ／Ｆ２２を用いて指示したと判断すると、メモリに記憶させたプリンタ名「ＭＦＰ−Ａ」を読み出し、「ＭＦＰ−Ａ」への印刷を指示するコマンドをＯＳ３１に出力する。コマンドを出力したのち、文書プログラム３５は文書データを、ＯＳ３１に出力する。ＯＳ３１は、レジストリを参照し、プリンタ名「ＭＦＰ−Ａ」が対応するプリンタドライバ（すなわち、第１プリンタドライバ３２Ａ）を特定する。そして、文書プログラム３５が出力した文書データを、プリンタドライバが処理可能な形式に変換し、特定した第１プリンタドライバ３２Ａに出力する。第１プリンタドライバ３２Ａは、文書プログラム３５が出力し、ＯＳ３１が変換した画像データを取得する。
【００７６】
第１プリンタドライバ３２Ａは、文書プログラム３５が出力した画像データをＯＳ３１経由で取得すると、接続先設定データが示す接続先である印刷ポートが、接続先候補データが示す主ポートであるポート１であるか否かを判断する（Ｓ３０１）。ステップＳ３０１の処理は、第８判断手段の一例である。
【００７７】
第１プリンタドライバ３２Ａは、ポート１であると判断すると（Ｓ３０１：Ｙｅｓ）、第１プリンタ選択画面（図８（Ａ）参照）をディスプレイ２１に表示させる（Ｓ３０２）。第１プリンタ選択画面は、「ＭＦＰ−Ａ」オブジェクト７１と、「ＭＦＰ−Ｂ」オブジェクト７２と、「印刷」アイコン７４と、「キャンセル」アイコン７５と、を有する。ステップＳ３０２の処理は、第１表示手段の一例である。第１プリンタ選択画面は、第１表示画面の一例である。
【００７８】
オブジェクト７１は、接続先設定データに含まれる第１プリンタドライバ３２Ａに対応する表示文字列を含む。図示例では、オブジェクト７１は、表示文字列として「ＭＦＰ−Ａ」を含む。オブジェクト７２は、接続先設定データに含まれる第２プリンタドライバ３２Ｂに対応する表示文字列を含む。図示例では、オブジェクト７２は、表示文字列として「ＭＦＰ−Ｂ」を含む。オブジェクト７１及びオブジェクト７２は、第１オブジェクトの一例である。
【００７９】
第１プリンタドライバ３２Ａは、ユーザによるアイコンの選択を監視する（Ｓ３０３）。第１プリンタドライバ３２Ａは、ユーザがアイコンを選択していないと判断すると（Ｓ３０３：なし）、Ｓ３０３の処理を継続する。第１プリンタドライバ３２Ａは、ユーザがアイコンを選択したと判断すると、ユーザが選択したアイコンを判断する。第１プリンタドライバ３２Ａは、ユーザが「キャンセル」アイコン７５を選択したと判断すると（Ｓ３０３：キャンセル）、印刷指示を送信せず、印刷処理を終了する。第１プリンタドライバ３２Ａは、ユーザが「印刷」アイコン７４を選択したと判断すると（Ｓ３０３：Ｙｅｓ）、接続先設定データが示す印刷ポートと接続するＭＦＰ５０へ、ネットワークＩ／Ｆ２３を通じて印刷指示を送信し（Ｓ３０４）、印刷処理を終了する。
【００８０】
第１プリンタドライバ３２Ａは、Ｓ３０１の処理にて、接続先設定データが示す接続先である印刷ポートが主ポートであるポート１ではないと判断すると（Ｓ３０１：Ｎｏ）、印刷許否設定データに基づいて、接続先設定データが示す接続先である印刷ポートが、ＰＣ１０との自動接続が許可された接続先であるか否かを判断する（Ｓ３０５）。ステップＳ３０５は、第９判断手段の一例である。
【００８１】
第１プリンタドライバ３２Ａは、許可された接続先であると判断すると（Ｓ３０５：Ｙｅｓ）、第２プリンタ選択画面（図８（Ｂ）参照）をディスプレイ２１に表示させる（Ｓ３０６）。第２プリンタ選択画面は、「ＭＦＰ−Ａ（ポート２）」オブジェクト８１と、「ＭＦＰ−Ｂ」オブジェクト８２と、「印刷」アイコン７４と、「キャンセル」アイコン７５と、を有する。ステップＳ３０６の処理は、第２表示手段の一例である。第２プリンタ選択画面は、第２表示画面の一例である。
【００８２】
オブジェクト８１は、接続先設定データに含まれる第１プリンタドライバ３２Ａに対応する表示文字列を含む。図８（Ｂ）が示す例では、オブジェクト８１は、表示文字列として「ＭＦＰ−Ａ（ポート２）」を含む。第２プリンタ選択画面のオブジェクト８１が含む表示文字列「ＭＦＰ−Ａ（ポート２）」は、第１プリンタ選択画面のオブジェクト７１が含む表示文字列「ＭＦＰ−Ａ」と異なっている。これは、上記ポート監視処理のＳ２１０の処理において、接続先設定データが示す接続先の印刷ポートが候補ポート（ポート２）に変更され、第１プリンタドライバ３２Ａの表示文字列が候補ポート（ポート２）に対応する表示文字列に変更されたことによる。オブジェクト７１が含む表示文字列は、第１文字列の一例である。オブジェクト８１が含む表示文字列は、第２文字列の一例である。
【００８３】
第１プリンタドライバ３２Ａは、Ｓ３０６の処理において、オブジェクト８１の表示態様を、第１プリンタ選択画面のオブジェクト７１の表示態様と異ならせた状態で、第２プリンタ選択画面をディスプレイ２１に表示させる。図８（Ｂ）が示す例では、オブジェクト８１が含む文字列は、第１プリンタ選択画面のオブジェクト７１が含む文字列よりも、太いフォントで表示されている。
【００８４】
オブジェクト８２は、接続先設定データに含まれる第２プリンタドライバ３２Ｂに対応する表示文字列を含む。図示例では、オブジェクト８２は、表示文字列として「ＭＦＰ−Ｂ」を含む。以上述べたオブジェクト８１及びオブジェクト８２は、第１オブジェクトの一例である。
【００８５】
第１プリンタドライバ３２Ａは、Ｓ３０５の処理にて、許可された接続先でないと判断すると（Ｓ３０５：Ｎｏ）、第３プリンタ選択画面（図９（Ａ）参照）をディスプレイ２１に表示させる（Ｓ３０７）。第３プリンタ選択画面は、「ＭＦＰ−Ａ（ポート３）」オブジェクト９１と、「ＭＦＰ−Ｂ」オブジェクト９２と、オブジェクト９３と、「印刷」アイコン７４と、「キャンセル」アイコン７５と、を有する。ステップＳ３０７の処理は、第２表示手段及び第３表示手段の一例である。第３プリンタ選択画面は、第２表示画面及び第３表示画面の一例である。
【００８６】
オブジェクト９１は、接続先設定データに含まれる第１プリンタドライバ３２Ａに対応する表示文字列を含む。図９（Ａ）が示す例では、オブジェクト９１は、表示文字列として「ＭＦＰ−Ａ（ポート３）」を含む。第２プリンタ選択画面のオブジェクト３１が含む表示文字列「ＭＦＰ−Ａ（ポート３）」は、第１プリンタ選択画面のオブジェクト７１が含む表示文字列「ＭＦＰ−Ａ」と異なっている。これは、上記ポート監視処理のＳ２１０の処理において、接続先設定データが示す接続先の印刷ポートが候補ポート（ポート３）に変更され、第１プリンタドライバ３２Ａの表示文字列が候補ポート（ポート３）に対応する表示文字列に変更されたことによる。オブジェクト９１が含む表示文字列は、第２文字列の一例である。
【００８７】
第１プリンタドライバ３２Ａは、Ｓ３０７の処理において、オブジェクト９１の表示態様を、第１プリンタ選択画面のオブジェクト７１の表示態様と異ならせた状態で、第３プリンタ選択画面をディスプレイ２１に表示させる。図９（Ａ）が示す例では、オブジェクト９１が含む文字列は、第１プリンタ選択画面のオブジェクト７１が含む文字列よりも、太いフォントで表示されている。
【００８８】
オブジェクト９２は、接続先設定データに含まれる第２プリンタドライバ３２Ｂに対応する表示文字列を含む。図示例では、オブジェクト９２は、表示文字列として「ＭＦＰ−Ｂ」を含む。以上述べたオブジェクト９１及びオブジェクト９２は、第１オブジェクトの一例である。
【００８９】
図示例では、オブジェクト９３は、文字列「自動接続が不許可のプリンタに接続されています。」を含む。オブジェクト９３は、接続先設定データが示す第１プリンタドライバ３２Ａに割り当てられている接続先がＰＣ１０との自動接続が許可された印刷ポートではないことを示すオブジェクトである。オブジェクト９３は、第２オブジェクトの一例である。
【００９０】
第１プリンタドライバ３２Ａは、Ｓ３０１の処理にてポート１でないと判断して（Ｓ３０１：Ｙｅｓ）、第２プリンタ選択画面又は第３プリンタ選択画面をディスプレイ２１に表示させると（Ｓ３０６、Ｓ３０７）、入力Ｉ／Ｆ２２を通じて受け付ける操作入力に連動してディスプレイ２１の表示画面上を移動するオブジェクト８３（図９（Ｂ）参照）と、第２プリンタ選択画面又は第３プリンタ選択画面に含まれる「印刷」アイコン７４との間の距離を取得する（Ｓ３０８）。「印刷」アイコン７４は、第１プリンタドライバ３２Ａに対するＭＦＰ５０への印刷指示の送信指示を示すオブジェクトである。「印刷」アイコン７４は、第３オブジェクトの一例である。オブジェクト８３は、ポインタ画像の一例である。ステップＳ３０８の処理は、距離取得手段の一例である。
【００９１】
第１プリンタドライバ３２Ａは、取得した距離が所定の閾値を下回ったか否かを判断する（Ｓ３０８）。第１プリンタドライバ３２Ａは、取得した距離が所定の閾値を下回っていないと判断すると（Ｓ３０８：Ｎｏ）、Ｓ３０８の処理を継続する。第１プリンタドライバ３２Ａは、取得した距離が所定の閾値を下回ったと判断すると（Ｓ３０８：Ｙｅｓ）、オブジェクト８４（図９（Ｂ）参照）をディスプレイ２１に表示させる（Ｓ３０９）。ステップＳ３０９の処理は、第４表示手段の一例である。
【００９２】
図９（Ｂ）に示される例では、第２プリンタ選択画面と、オブジェクト８３と、オブジェクト８４とが、ディスプレイ２１に表示されている。オブジェクト８４は、第１プリンタドライバ３２Ａに割り当てられた印刷ポートが、主ポートであるポート１でないことを示すオブジェクトである。図示例では、オブジェクト８４は、文字列「接続先プリンタが変更されています。」を含む。オブジェクト８４は、第４オブジェクトの一例である。
【００９３】
第１プリンタドライバ３２Ａは、ユーザによるアイコンの選択を監視する（Ｓ３１０）。第１プリンタドライバ３２Ａは、ユーザがアイコンを選択していないと判断すると（Ｓ３１０：なし）、Ｓ３０８からＳ３１０までの処理を継続する。第１プリンタドライバ３２Ａは、ユーザがアイコンを選択したと判断すると、ユーザが選択したアイコンを判断する。第１プリンタドライバ３２Ａは、ユーザが「キャンセル」アイコン７５を選択したと判断すると（Ｓ３１０：キャンセル）、印刷指示を送信せず、印刷処理を終了する。第１プリンタドライバ３２Ａは、ユーザが「印刷」アイコン７４を選択したと判断すると（Ｓ３１０：Ｙｅｓ）、接続先設定データが示す印刷ポートと接続するＭＦＰ５０へ、ネットワークＩ／Ｆ２３を通じて印刷指示を送信し（Ｓ３１１）、印刷処理を終了する。
【００９４】
本実施形態では、ステータスモニタ３４は、主ポートであるポート１がオフラインであると、第１プリンタドライバ３２Ａに割り当てられた接続先を、オンラインである印刷ポート（上記例ではポート２）に変更する。ポート２は、第１プリンタドライバ３２Ａが対応する機種のＭＦＰ５０が接続されている。従って、主ポートであるポート１のＭＦＰ５０Ａがオフラインになった場合でも、ユーザはポート２のＭＦＰ５０Ｂで印刷することができる。その結果、接続先がオフラインとなって印刷が不可能となる事態を抑制することができる。
【００９５】
また、本実施形態では、第１プリンタドライバ３２ＡをＯＳ３１の「通常使用するプリンタドライバ」に設定しているユーザは、たとえ、１つ目のＭＦＰ５０がオフラインになったとしても、「通常使用するプリンタドライバ」についてなんらの設定変更の操作をすることなく、「通常使用するプリンタドライバ」を使って印刷することができるため、わずらわしくない。
【００９６】
また、本実施形態では、実際に印刷するＭＦＰ５０がインストール時のＭＦＰ５０変わっていたとしても、「通常使用するプリンタドライバ」はそのままなので、ユーザが不安に思うことを低減できる。
【００９７】
また、本実施形態では、ステータスモニタ３４は、ポート１がオンラインであると、第１プリンタドライバ３２Ａに割り当てられた接続先をポート１に変更する。従って、主ポートであるポート１がオンラインの場合には常に、第１プリンタドライバ３２Ａの接続先はポート１となる。その結果、主ポートであるポート１がオンラインの場合には、ユーザは常にポート１のＭＦＰ５０Ａを用いて印刷を実行することができる。
【００９８】
また、本実施形態では、ステータスモニタ３４は、ポート１及びポート２がオフラインであると、第１プリンタドライバ３２Ａに割り当てられた接続先を、オンラインであるポート３に変更する。ポート３は、第１プリンタドライバ３２Ａが対応する機種のＭＦＰ５０が接続されている。従って、現在接続されているポート２がオフラインとなり、ポート１もオフラインである場合、ユーザはポート３で印刷することができる。その結果、接続先がオフラインとなって印刷が不可能となる事態を更に抑制することができる。
【００９９】
また、本実施形態では、監視対象とされているプリンタドライバ３２の各々について、ステータスモニタ３４がポート監視処理を実行する。例えば、ステータスモニタ３４が、第１プリンタドライバ３２Ａ及び第２プリンタドライバ３２Ｂについてポート監視処理を実行する。従って、複数のプリンタドライバ３２について、接続先がオフラインとなって印刷が不可能となる事態を抑制することができる。
【０１００】
また、本実施形態では、ステータスモニタ３４は、プリンタドライバ３２に割り当てられた印刷ポートを、印刷が可能な状態であると判断された候補ポートに変更する。従って、接続先が、印刷が不可能な状態の印刷ポートに変更される事態が抑制される。その結果、ＰＣ１０で印刷が不可能となる事態を更に抑制することができる。
【０１０１】
また、本実施形態では、ステータスモニタ３４は、プリンタドライバ３２に割り当てられた印刷ポートを、接続が許可された印刷ポートに変更する。従って、プリンタドライバ３２に割り当てる印刷ポートを、印刷許否の設定により管理することができる。
【０１０２】
また、本実施形態では、インストーラ３３は、インストール処理において、自動接続を許可する接続先として設定するか否かを指定する操作入力を受け付けて、該操作入力に基づいて印刷許否設定データを生成する。従って、プリンタドライバ３２のインストール時に、ＰＣ１０からの接続を許可するか否かを設定することができる。
【０１０３】
また、本実施形態では、ステータスモニタ３４は、候補ポートが許可された接続先でない場合には、ユーザから承諾の操作入力を受け付けた場合に、候補ポートへ接続する。従って、設定上は印刷が許可されていない印刷ポートであっても、承諾の操作入力を行うことで接続することができる。その結果、ＰＣ１０で印刷が不可能となる事態を更に抑制することができる。
【０１０４】
また、本実施形態では、ステータスモニタ３４は、プリンタドライバ３２に割り当てられた印刷ポートを、優先順位が最も上位である印刷ポートに変更する。従って、プリンタドライバ３２に割り当てる接続先を、優先順位の設定により管理することができる。
【０１０５】
また、本実施形態では、インストーラ３３は、インストール処理において、印刷ポートの優先順位を指定する操作入力を受け付けて、該操作入力に基づいて優先順位設定データを生成する。従って、プリンタドライバ３２のインストール時に、印刷ポートの優先順位を設定することができる。
【０１０６】
また、本実施形態では、ステータスモニタ３４は、候補ポートに対して優先順位が設定されていない場合には、ユーザから承諾の操作入力を受け付けた場合に、候補ポートへ接続する。従って、優先順位が設定されていない印刷ポートであっても、承諾の操作入力を行うことで接続することができる。その結果、ＰＣ１０で印刷が不可能となる事態を更に抑制することができる。
【０１０７】
また、本実施形態では、第１プリンタドライバ３２Ａの接続先がポート１ではない場合に表示される第２プリンタ選択画面のオブジェクト８１は、ポート１である場合に表示される第１プリンタ選択画面のオブジェクト７１と表示態様が異なる。従って、第１プリンタドライバ３２Ａの接続先がポート１ではないこと、すなわち印刷が行われるＭＦＰ５０がインストール時のＭＦＰ５０Ａと異なることを、ユーザが容易に認識することができる。
【０１０８】
また、本実施形態では、第１プリンタ選択画面と第２プリンタ選択画面との間、及び、第１プリンタ選択画面と第３プリンタ選択画面との間で、第１プリンタドライバ３２Ａに対応する表示文字列が異なることになる。従って、第１プリンタドライバ３２Ａの接続先がポート１ではないこと、すなわち印刷が行われるＭＦＰ５０がインストール時のＭＦＰ５０Ａと異なることを、ユーザが容易に認識することができる。
【０１０９】
また、本実施形態では、第１プリンタドライバ３２Ａの接続先が、接続が許可された印刷ポートでない場合に、その旨を示すオブジェクト９３を含む第３プリンタ選択画面が表示される。従って、第１プリンタドライバ３２Ａの接続先が、許可された印刷ポートでないことを、ユーザが容易に認識することができる。
【０１１０】
また、本実施形態では、第１プリンタドライバ３２Ａの接続先がポート１ではない場合に、その旨を示すオブジェクト８４が、印刷を指示するアイコン７４にオブジェクト８３が近づいたときに表示される。従って、第１プリンタドライバ３２Ａの接続先がポート１ではないこと、すなわち印刷が行われるＭＦＰ５０がインストール時のＭＦＰ５０Ａと異なることを、ユーザが容易に認識することができる。
【０１１１】
＜変形例＞
上記実施形態では、候補ポートが許可された接続先でない、又は、優先順位が設定されていないと判断したことに応じて（Ｓ２０８：Ｎｏ）、候補ポートに接続することを承諾するか否かを指定する操作入力を、入力Ｉ／Ｆ２２を通じて受け付ける例を説明した。本変形例では、優先順位の設定の有無に代えて、優先順位の閾値に対する高低を用いる例を説明する。以下に示される構成や処理以外の変形例の構成や処理は、上記実施形態で説明した構成や処理と同じである。 
【０１１２】
ステータスモニタ３４は、印刷可能な状態にあると判断すると（Ｓ２０７：Ｙｅｓ）、印刷許否設定データが示す情報に基づいて、候補ポートが、ＰＣ１０との自動接続が許可された接続先であるか否かを判断し、優先順位設定データが示す優先順位が所定の閾値以上か否かを判断する（Ｓ２０８）。本変形例のステップＳ２０８の処理は、第５判断手段及び第７判断手段の一例である。
【０１１３】
ステータスモニタ３４は、自動接続が許可された接続先でない、又は、優先順位が所定の閾値以上でないと判断したことに応じて（Ｓ２０８：Ｎｏ）、候補ポートに接続することを承諾するか否かを指定する操作入力を、入力Ｉ／Ｆ２２を通じて受け付ける（Ｓ２０９）。本変形例のステップＳ２０９の処理は、第３受付手段及び第６受付手段の一例である。
【０１１４】
本変形例では、候補ポートに設定されている優先順位が閾値以上でない場合には、ユーザから承諾の操作入力を受け付けた場合に、候補ポートへ接続する。従って、優先順位が閾値より低い接続先であっても、承諾の操作入力を行うことで接続することができる。その結果、ＰＣ１０で印刷が不可能となる事態を更に抑制することができる。
【０１１５】
＜他の変形例＞
上記実施形態では、システム１００がＰＣ１０とＭＦＰ５０とで構成され、ステータスモニタ３４が、第１プリンタドライバ３２Ａに割り当てられた接続先を、オンラインであるＭＦＰ５０と接続する印刷ポートに変更する例が説明された。第１プリンタドライバ３２Ａは、変更された印刷ポートに接続するＭＦＰ５０に対して、印刷を指示する印刷指示を送信する。システム１００は、ＭＦＰ５０に代えて、スキャナ単能機を含んでもよい。ステータスモニタ３４を、スキャナドライバに割り当てられた接続先をオンラインであるスキャナ単能機と接続するポートに変更するよう構成してもよい。スキャナドライバは、変更されたポートに接続するスキャナ単能機に対して、スキャンデータの形成を指示するスキャン指示を送信する。スキャナ単能機は、画像形成装置の一例である。スキャナドライバは、デバイスドライバの一例である。スキャン指示は、画像形成指示の一例である。スキャンデータの形成は、画像形成の一例である。
【符号の説明】
【０１１６】
１０・・・ＰＣ
２１・・・ディスプレイ
２２・・・入力Ｉ／Ｆ
２４・・・ＣＰＵ
２５・・・メモリ
３２・・・プリンタドライバ
３３・・・インストーラ
３４・・・ステータスモニタ
【図１】
2019133460.tif 000003
【図２】
2019133460.tif 000004
【図３】
2019133460.tif 000005
【図４】
2019133460.tif 000006
【図５】
2019133460.tif 000007
【図６】
2019133460.tif 000008
【図７】
2019133460.tif 000009
【図８】
2019133460.tif 000010
【図９】
2019133460.tif 000011