以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
図1は、本実施形態に係るシステム100の概略図である。図1に示されるシステム100は、MFP10A、10B(以下、これらを総称して、「MFP10」と表記することがある。)と、携帯端末50とで構成されている。MFP10及び携帯端末50は、通信ネットワーク101を通じて通信可能に構成されている。通信ネットワーク101は、例えば、有線LAN、無線LAN、或いはこれらの組み合わせであってもよい。または、MFP10及び携帯端末50は、USBケーブル等によって接続されていてもよい。
MFP10(Multi-Function Peripheralの略)は、図2(A)に示されるように、プリンタ11と、スキャナ12と、ディスプレイ23と、入力I/F24と、通信I/F25と、CPU31と、メモリ32と、通信バス33とを主に備える。MFP10を構成する各構成要素は、通信バス33を通じて相互に接続されている。MFP10は、画像処理装置の一例である。
プリンタ11は、画像データで示される画像をシートに記録するプリント動作を実行するハードウェアである。プリンタ11の記録方式としては、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ12は、原稿に記録されている画像を読み取って画像データ(以下、「スキャンデータ」と表記する。)を生成するスキャン動作を実行するハードウェアである。なお、MFP10A、10Bは、少なくとも1つの動作を実行可能であればよい。また、MFP10A、10Bが実行可能な動作は、異なっていてもよい。
プリント動作は、携帯端末50から取得した画像データを出力する出力動作の一例である。スキャン動作は、携帯端末50に入力する画像データを生成する入力動作の一例である。また、プリント動作及びスキャン動作は、画像処理動作の一例である。但し、画像処理動作の具体例はこれらに限定されない。出力動作の他の例としては、FAXプロトコルに従って画像データを外部装置にFAX送信するFAX送信動作が挙げられる。入力動作の他の例としては、不図示のサーバから画像データを受信するダウンロード動作が挙げられる。
ディスプレイ23は、液晶ディスプレイ、有機ELディスプレイ等であり、各種情報を表示する表示画面を備える。
入力I/F24は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力I/F24はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をCPU31へ出力する。さらに、入力I/F24は、ディスプレイ23の表示画面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ23の表示画面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ23に表示された文字列、アイコン、ボタン、リンク、ラジオボタン、チェックボックス、プルダウンメニュー等である。
タッチセンサとして実現される入力I/F24は、ユーザがタッチした表示画面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示画面に接触させる操作全般を含む。また、入力媒体が表示画面に触れていなくても、表示画面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ23に表示されたオブジェクトの位置をタップするユーザ操作は、当該オブジェクトを指定するユーザ操作の一例である。
通信I/F25は、通信ネットワーク101を通じて外部装置と通信可能なインタフェースである。すなわち、MFP10は、通信I/F25を通じて外部装置に各種情報を送信し、通信I/F25を通じて外部装置から各種情報を受信する。通信I/F25の具体的な通信手順は特に限定されないが、例えば、Wi−Fi(Wi-Fi Allianceの登録商標)を採用することができる。また、MFP10及び携帯端末50がUSBケーブルで接続される場合、通信I/F25は、USBケーブルを着脱可能なUSBインタフェースであってもよい。
CPU31は、MFP10の全体動作を制御するものである。CPU31は、入力I/F24から出力される各種情報、通信I/F25を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ32から取得して実行する。CPU31及びメモリ32は、コントローラの一例を構成する。
メモリ32は、OS34と、装置プログラム35とを記憶している。装置プログラム35は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ32は、装置プログラム35の実行に必要なデータ或いは情報等を記憶する。メモリ32は、例えば、RAM、ROM、EEPROM、HDD、MFP10に着脱されるUSBメモリ等の可搬記憶媒体、CPU31が備えるバッファ等、或いはそれらの組み合わせによって構成される。
メモリ32は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する携帯端末50のメモリ62についても同様である。
メモリ32のMIB(Management Information Baseの略)は、図1に示される装置情報を記憶している。装置情報は、MFP10を識別する装置IDと、MFP10が実行可能な画像処理動作を識別する動作IDとを含む。なお、「装置ID」とは、通信ネットワーク101上において、MFP10A、10Bを一意に識別することができれば、テキスト形式、バイナリ形式等の形式は問わない。動作ID、後述するプログラムID、後述するデータID等についても同様である。
すなわち、MFP10Aは、装置ID“MFP−A”で識別され、動作ID“シートプリント”、“レーベルプリント”で識別される画像処理動作を実行可能である。一方、MFP10Bは、装置ID“MFP−B”で識別され、動作ID“シートプリント”、“レーベルプリント”、“シートスキャン”、“レーベルスキャン”で識別される画像処理動作を実行可能である。
動作ID“シートプリント”は、被記録媒体の一例である記録用紙に対して画像を記録するプリント動作(以下、「シートプリント動作」と表記する。)を識別する。動作ID“レーベルプリント”は、被記録媒体の一例であるレーベル(例えば、CD−ROM、DVD−ROM等)の表面に画像を記録するプリント動作(以下、「レーベルプリント動作」と表記する。)を識別する。すなわち、MFP10A、10Bのプリンタ11は、被記録媒体に画像を記録する記録位置に、記録用紙のみならず、レーベルを搬送するハードウェアを備えている。
動作ID“シートスキャン”は、記録用紙に記録された画像を読み取ってスキャンデータを生成するスキャン動作(以下、「シートスキャン動作」と表記する。)を識別する。動作ID“レーベルスキャン”は、レーベルに記録された画像を読み取ってスキャンデータを生成するスキャン動作(以下、「レーベルスキャン動作」と表記する。)を識別する。すなわち、MFP10Aは、スキャナ12を備えていない所謂プリンタ単能機である。一方、MFP10Bは、スキャンデータで示される画像上において、レーベルの中心位置を特定する画像処理機能を備えている。
携帯端末50は、図2(B)に示されるように、ディスプレイ53と、入力I/F54と、通信I/F55と、CPU61と、メモリ62と、通信バス63とを主に備える。携帯端末50に含まれるディスプレイ53、入力I/F54、通信I/F55、CPU61、メモリ62、及び通信バス63は、MFP10に含まれるディスプレイ23、入力I/F24、通信I/F25、CPU31、メモリ32、及び通信バス33と同様の構成であるので、説明は省略する。CPU61及びメモリ62は、コントローラの一例である。
携帯端末50は、例えば、携帯電話、スマートフォン、或いはタブレット端末等である。より詳細には、携帯端末50のディスプレイ53は、表示画面のサイズが12インチ以下、より好ましくは8インチ以下であるのが望ましい。また、携帯端末50の入力I/F54は、ディスプレイ53の表示画面に重ねられたタッチセンサであるのが望ましい。メモリ62は、OS64と、端末プログラム65と、レーベルプログラム66と、地図プログラム67とを記憶している。
OS64は、例えば、Android(Google inc.の登録商標) OS、iOS(Cisco Systems,Inc.の登録商標)、Windows Phone(Microsoft Corporationの登録商標) Operating System等であってもよい。OS64は、携帯端末50にインストールされた複数のプログラムを並行して実行することができる。複数のプログラムは、例えば、時分割多重方式によって仮想的に並行して実行される。また、OS64は、並行して実行する複数のプログラムのうちの1つをフォアグラウンドで実行し、その他のプログラムをバックグラウンドで実行する。
フォアグラウンドは、例えば、当該プログラムの実行に拠る画面がディスプレイ53の表示領域の大部分に表示されている状態である。バックグラウンドは、例えば、当該プログラムと異なるプログラムの実行に拠る画面がディスプレイ53の表示領域の大部分に表示されている状態である。すなわち、携帯端末50は、並行して実行する複数のプログラムのうち、フォアグラウンドで実行されているプログラムの実行に拠る画面のみをディスプレイ53に表示させることができる。
端末プログラム65は、通信I/F55を通じて接続されたMFP10に、画像処理動作を実行させるプログラムである。MFP10に実行させる画像処理動作は、端末プログラム65が入力I/F54を通じてユーザに指定させてもよいし、携帯端末50にインストールされた他のプログラムから指定されてもよい。すなわち、端末プログラム65は、他のプログラムからの指示に従ってMFP10に画像処理動作を実行させる所謂デバイスドライバとは異なるものである。
レーベルプログラム66は、レーベルスキャン動作で生成したスキャンデータを端末プログラム65を通じてMFP10から取得し、取得したスキャンデータからレーベルに記録する画像を示すレーベル画像データを生成する機能を有する。また、レーベルプログラムは、入力I/F54を通じたユーザ操作に従ってレーベル画像データを生成し、生成したレーベル画像データを対象とするレーベルプリント動作を端末プログラム65を通じてMFP10に実行させる機能を有する。
地図プログラム67は、不図示のサーバから取得した地図画像データの一部を入力I/F54を通じたユーザ操作に従って抽出し、抽出した地図画像データを対象とするシートプリント動作を端末プログラム65を通じてMFP10に実行させる機能を有する。また図示は省略するが、名刺プログラムは、シートスキャン動作で生成したスキャンデータを端末プログラム65を通じてMFP10から取得し、取得したスキャンデータに含まれる文字列(例えば、氏名、会社名、電話番号、メールアドレス等)をテキストデータとして抽出する機能を有する。
また、端末プログラム65は、携帯端末50にインストールされたレーベルプログラム66及び地図プログラム67を、所謂プラグインとして起動することができる。同様に、レーベルプログラム66及び地図プログラム67は、携帯端末50にインストールされた端末プログラム65を、所謂プラグインとして起動することができる。プラグインは、外部プログラムの一例である。なお、外部プログラムは、起動元のプログラムとは別個のプログラムで且つ独立して実行可能なプログラムであって、起動元のプログラムのサブルーチンとは異なる。また、外部プログラムは、起動元のプログラムと同じ携帯端末50で動作するプログラムである。
外部プログラムは、例えば、OS64が提供するAPI(以下、「起動API」と表記する。)によって起動される。起動元のプログラムは、例えば、外部プログラムのプログラムIDを引数として指定して、起動APIを実行する。OS64は、起動APIが実行されたことに応じて、指定されたプログラムIDで識別される外部プログラムを起動する。そして、外部プログラムは、所定の動作を実行し、当該動作の実行結果を起動APIの戻り値として起動元のプログラムに引き渡す。なお、外部プログラムは、OS64によって提供される共有機能によって起動されてもよい。
メモリ62は、例えば図3に示されるように、プログラムリストを記憶することができる。プログラムリストは、1以上のプログラムレコードを含む。プログラムレコードは、例えば、端末プログラム65のインストール時にメモリ62に記憶される。プログラムレコードは、端末プログラム65が起動可能な複数のプログラムのうちの1つに対応する。プログラムレコードは、プログラムIDと、インストールフラグと、PI機能リストと、コンテンツ情報とを含む。
プログラムIDは、端末プログラム65が起動可能なプログラムを識別する。すなわち、レーベルプログラム66はプログラムID“レーベル”で識別され、地図プログラム67はプログラムID“地図”で識別され、名刺プログラムはプログラムID“名刺”で識別される。インストールフラグは、対応するプログラムIDで識別されるプログラムが携帯端末50にインストールされているか否かを示す。インストールフラグには、既にインストールされていることに対応する第1値“YES”、或いは未だインストールされていないことに対応する第2値“NO”が設定される。
PI機能リストは、対応するプログラムIDで識別されるプログラムが、端末プログラム65を通じてMFP10に指示し得る指定動作を示す情報である。すなわち、レーベルプログラム66、地図プログラム67、及び名刺プログラムは、1以上の指定動作の実行を端末プログラム65を通じてMFP10に指示することができる。PI機能リストは、指定動作の動作ID(以下、「指定動作ID」と表記する)を示す。より詳細には、PI機能リストは、複数の動作IDそれぞれに対応付けて、指定動作であることに対応する第3値“ON”、或いは指定動作でないことに対応する第4値“OFF”を含む。
一例として、PI機能リストは、Android OSによって管理される所謂マニュフェストファイルに定義されていてもよい。他の例として、端末プログラム65は、外部プログラムが提供する関数を実行することによって、当該関数の戻り値としてPI機能リストを外部プログラムから取得してもよい。
コンテンツ情報は、対応するプログラムIDで識別されるプログラムから、起動APIの戻り値として取得した動作ID及びURI(Uniform Resource Identifierの略)を含む。動作IDは、MFP10に実行させる画像処理動作を識別するための情報である。URIは、対応する動作IDで識別される画像処理動作の対象となる画像データを識別するデータIDの一例である。コンテンツ情報は、後述する指示受付処理において、端末プログラム65によってプログラムレコードに登録される。プログラムレコードは、複数のコンテンツ情報を含んでもよいし、コンテンツ情報を含まなくてもよい。
また図示は省略するが、メモリ62は、指定装置情報を記憶することができる。指定装置情報は、後述するデバイス選択処理で指定されたMFP10(以下、「指定装置」と表記する。)のMIBに記憶された装置情報である。一方、MFP10が指定されていないとき、メモリ62には、指定装置情報が記憶されていない。
[システム100の動作]
図4〜図9を参照して、本実施形態に係るシステム100の動作を説明する。なお、図4のメイン処理を開始する時点において、メモリ62には、MFP10Aの装置情報が指定装置情報として記憶されているものとする。
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったCPU31、61の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」等の処理は、CPU31、61の処理を表している。CPU31、61による処理は、OS34、64を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
携帯端末50のOS64は、図10(A)に示されるメニュー画面をディスプレイ53に表示させる。メニュー画面は、複数のプログラムアイコン111、112、113、114を含む。プログラムアイコン111〜114は、携帯端末50にインストールされたプログラムに対応する。例えば、プログラムアイコン111は端末プログラム65に対応し、プログラムアイコン112はレーベルプログラム66に対応し、プログラムアイコン113は地図プログラム67に対応する。そして、OS64は、プログラムアイコン111〜114の1つを指定するユーザ操作を、入力I/F54を通じて受け付ける。
一例として、OS64は、プログラムアイコン112の指定を入力I/F54を通じて受け付けたことに応じて、レーベルプログラム66を起動させ、且つ当該プログラムをフォアグラウンドで実行する。ここで起動されたレーベルプログラム66は、後述するレーベルPI処理を実行する。他の例として、OS64は、プログラムアイコン111の指定を入力I/F54を通じて受け付けたことに応じて、端末プログラム65を起動させ、且つ当該プログラムをフォアグラウンドで実行する。以下、プログラムアイコン111が指定された場合の処理を説明する。
携帯端末50の端末プログラム65は、OS64によって起動されたことに応じて、メイン画面生成処理を実行する(S11)。メイン画面生成処理は、図10(B)に示されるメイン画面を生成する処理である。より詳細には、メイン画面生成処理は、携帯端末50にインストールされた外部プログラムに対応するアイコンを、図10(B)に示されるメイン画面に含めるか否かを決定する処理である。図5を参照して、メイン画面生成処理の詳細を説明する。
端末プログラム65は、プログラムリストに含まれる全てのプログラムレコードそれぞれについて(S37:No)、S31〜S36の処理を実行する。より詳細には、端末プログラム65は、プログラムレコードのインストールフラグの設定値を判断する(S31)。また、端末プログラム65は、プログラムレコードがコンテンツ情報を含むか否かを判断する(S32)。さらに、端末プログラム65は、メモリ62に記憶された指定装置情報が、コンテンツ情報の動作IDを含むか否かを判断する(S33)。そして、端末プログラム65は、S31〜S33の判断結果に応じて、プログラムレコードに対応する外部プログラムのアイコンを決定する。
すなわち、端末プログラム65は、図3の1行目のプログラムレコードについて、インストールフラグに第1値“YES”が設定されおり(S31:Yes)、且つコンテンツ情報を含まないと判断したことに応じて(S32:No)、図10(B)に示されるように、レーベルプログラム66に対応するPIアイコン123を、メイン画面に含めると決定する(S36)。
PIアイコン123は、コンテンツ情報が対応付けられていない外部プログラムに対応する第1オブジェクトの一例である。PIアイコン123には、レーベルプログラム66を示す画像が用いられる。より詳細には、PIアイコン123は、レーベルプログラム66の名称、略称、ロゴマーク等、レーベルプログラム66に対応するアイコンであることを、携帯端末50のユーザが認識できるものであればよい。
また、端末プログラム65は、図3の2行目のプログラムレコードについて、インストールフラグに第1値“YES”が設定されおり(S31:Yes)、コンテンツ情報を含み(S32:Yes)、且つ指定装置情報が動作ID“シートプリント”を含むと判断したことに応じて(S33:Yes)、図10(B)に示されるように、地図プログラム67に対応するコンテンツアイコン124を、指定可能な態様でメイン画面に含めると決定する(S34)。
コンテンツアイコン124は、例えば図10(B)に示されるように、URIで示される画像データを加工した所謂サムネイル画像であってもよい。「加工」とは、例えば、URIで示される画像データの一部をトリミングすることでもよいし、画像データで示される画像の解像度を低下させることでもよい。または、コンテンツアイコン124は、プログラムレコードに含まれるコンテンツ情報の数を表すバッヂ画像であってもよい。バッヂ画像は、対応する外部プログラムのPIアイコンの周囲(例えば、右上)に配置されてもよい。
一方図示は省略するが、端末プログラム65は、インストールフラグに第1値“YES”が設定されおり(S31:Yes)、コンテンツ情報を含み(S32:Yes)、且つ指定装置情報が動作ID“シートプリント”を含まないと判断したことに応じて(S33:No)、地図プログラム67に対応するコンテンツアイコン124を、指定不能な態様でメイン画面に含めると決定する(S35)。指定不能な態様とは、例えば、グレーアウト等であってもよい。
さらに、端末プログラム65は、図3の3行目のプログラムレコードについて、インストールフラグに第2値“NO”が設定されていると判断したことに応じて(S31:No)、名刺プログラムに対応するアイコンを、メイン画面に含めない。そして、端末プログラム65は、全てのプログラムレコードに対してS31〜S36の処理を実行したことに応じて(S37:Yes)、メイン画面生成処理を終了する。
次に図4に戻って、端末プログラム65は、図10(B)に示されるメイン画面をディスプレイ53に表示させる(S12)。メイン画面は、動作アイコン121、122と、PIアイコン123と、指定可能な態様のコンテンツアイコン124と、切替アイコン125とを含む第1画面の一例である。そして、端末プログラム65は、メイン画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S13〜S16)。
動作アイコン121は、シートプリント動作の実行指示に対応する。動作アイコン122は、シートスキャン動作の実行指示に対応する。PIアイコン123及びコンテンツアイコン124は、メイン画面生成処理でメイン画面に含めると決定したアイコンである。切替アイコン125は、指定装置の切替指示に対応する。切替アイコン125には、指定装置情報に含まれる装置ID“MFP−A”が記述されている。一方、指定装置情報がメモリ62に記憶されていない場合、切替アイコン125には、指定装置が選択されていないことを示す「未選択」の文字列が記述される。
次に、端末プログラム65は、例えば、切替アイコン125の指定を入力I/F54を通じて受け付けたことに応じて(S13:Yes)、デバイス選択処理を実行する(S17)。なお、S17で実行するデバイス選択処理の検索条件は、「通信ネットワーク101を通じて通信可能な全てのMFP」である。図6を参照して、デバイス選択処理の詳細を説明する。
まず、端末プログラム65は、例えば、SNMP(Simple Network Management Protocolの略)を用いて、通信I/F55を通じて通信が可能な複数のMFP10を検索する(S41)。具体的には、端末プログラム65は、通信I/F55を通じて通信ネットワーク101に送信要求情報をブロードキャストする。次に、端末プログラム65は、送信要求情報の応答としてMFP10A、10Bが送信した装置情報を、通信I/F55を通じて受信する。すなわち、端末プログラム65は、装置情報の送信元のMFP10A、10Bを、通信可能なMFP10として特定する。なお、通信可能なMFP10を検索する方法は、周知の他の方法であってもよい。
次に、端末プログラム65は、検索条件に合致するMFP10をS41で発見したか否かを判断する(S42)。次に、端末プログラム65は、MFP10A、10Bを発見したと判断したことに応じて(S42:Yes)、図11(A)に示されるデバイス選択画面をディスプレイ53に表示させる(S43)。そして、端末プログラム65は、デバイス選択画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S44)。
デバイス選択画面は、デバイスアイコン131、132を含む。デバイスアイコン131、132は、ステップS41で発見したMFP10A、10Bに対応する。また、デバイスアイコン131、132には、対応するMFP10A、10Bの装置IDが記述されている。一方、S17で実行するデバイス選択処理において、デバイスアイコン131、132には、「レーベルプリント」、「レーベルスキャン」等の文字列が記述されていなくてもよい。
次に、端末プログラム65は、例えばデバイスアイコン131の指定を入力I/F54を通じて受け付けたことに応じて(S44:Yes)、デバイスアイコン131に対応するMFP10Bから受信した装置情報を、指定装置情報としてメモリ62に記憶させる(S45)。メモリ62に既に指定装置情報が記憶されている場合、端末プログラム65は、当該指定装置情報を新たな指定装置情報で上書きする。一方、端末プログラム65は、S41でMFP10を発見しなかったと判断したことに応じて(S42:No)、S43〜S45の処理をスキップして、デバイス選択処理を終了する。
次に図4に戻って、端末プログラム65は、メイン画面をディスプレイ53に表示させる(S12)。デバイスアイコン131が指定された後のメイン画面において、切替アイコン125には、指定装置ID“MFP−B”が記述される。次に、端末プログラム65は、例えばPIアイコン123の指定を入力I/F54を通じて受け付けたことに応じて(S14:Yes)、PI起動処理を実行する(S18)。PI起動処理は、指定されたPIアイコン123に対応するレーベルプログラム66(以下、「指定プログラム」と表記する。)を起動する処理である。図7を参照して、PI起動処理の詳細を説明する。
まず、端末プログラム65は、PIアイコン123に対応するプログラムレコードのPI機能リストを、プログラムリストから読み出す(S51)。次に、端末プログラム65は、読み出したPI機能リストで示される指定動作を指定装置がサポートしているか否かを判断する(S52)。換言すれば、端末プログラム65は、PI機能リストで示される指定動作IDを含む指定装置情報がメモリ62に記憶されているか否かを判断する(S52)。
端末プログラム65は、指定動作の少なくとも一部を指定装置がサポートしていると判断したことに応じて(S52:Yes)、S53〜S55の処理をスキップして、複数の指定動作ID“レーベルプリント”、“レーベルスキャン”のうち、指定装置情報に含まれる動作IDを抽出する(S56)。そして、端末プログラム65は、レーベルプログラム66のプログラムID及びサポート機能リストを引数として指定して、起動APIを呼び出す(S57、S59)。
サポート機能リストは、S56で抽出した動作IDのリストである。一例として、MFP10Aが指定装置である場合、端末プログラム65は、一部の指定動作ID“レーベルプリント”のみを抽出し、抽出した動作ID“レーベルプリント”を示すサポート機能リストを、起動APIの引数として指定する(S56:No→S59)。他の例として、MFP10Bが指定装置である場合、端末プログラム65は、全ての指定動作ID“レーベルプリント”、“レーベルスキャン”を抽出し、全ての指定動作IDを示すサポート機能リストを、起動APIの引数として指定する(S56:Yes→S57)。
一方、端末プログラム65は、指定装置が指定動作を全くサポートしていないと判断したことに応じて(S52:No)、図11(B)に示される確認画面をディスプレイ53に表示させる(S53)。なお、「指定装置が指定動作を全くサポートしていない」とは、メモリ62に記憶されている指定装置情報が指定動作IDを1つも含まないこと、或いはメモリ62に指定装置情報が記憶されていないことを指す。
確認画面は、「指定装置が指定動作をサポートしていません。指定装置を選択しますか?」とのメッセージと、[YES]アイコン141と、[NO]アイコン142とを含む。そして、端末プログラム65は、確認画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S54)。
次に、端末プログラム65は、[YES]アイコン141の指定を入力I/F54を通じて受け付けたことに応じて(S54:YES)、デバイス選択処理を実行する(S55)。そして、端末プログラム65は、デバイス選択処理で新たにメモリ62に記憶された指定装置情報を用いて、S56以降の処理を実行する。すなわち、端末プログラム65は、指定動作IDを含む指定装置情報がメモリ62に記憶されている状態で、S56以降の処理を実行する。[YES]アイコン141の指定は、第1指示操作の一例である。
S55で実行するデバイス選択処理の検索条件は、「通信ネットワーク101を通じて通信可能なMFPのうち、指定動作の少なくとも1つを実行可能なMFP」である。以下、S17で説明したデバイス選択処理との共通点の詳しい説明は省略し、相違点を中心に説明する。
一例として、端末プログラム65は、S41において、MFP10A、10Bから装置情報を受信した場合に、MFP10A、10Bのうちから、装置情報が指定動作IDの少なくとも1つを含むMFPを抽出してもよい。他の例として、端末プログラム65は、S41において、指定装置IDを含む送信要求情報をブロードキャストしてもよい。そして、MFP10A、10Bは、メモリ32に記憶された装置情報が指定装置IDを含む場合にのみ、通信I/F25を通じて携帯端末50に送信してもよい。すなわち、端末プログラム65は、指定動作IDの少なくとも1つを含む装置情報のみを受信することになる。
次に、端末プログラム65は、S43において、図11(A)に示されるように、全ての指定動作を実行可能なMFP10Bに対応するデバイスアイコン131を、一部の指定動作のみを実行可能なMFP10Aに対応するデバイスアイコン132より優先して表示する。また、端末プログラム65は、MFP10A、10Bが実行可能な指定動作を、対応するデバイスアイコン131、132を通じて報知する。
一例として、「優先して表示」とは、デバイスアイコン131をデバイスアイコン132より配列順(例えば、上下方向)の前方に配置することを指してもよい。他の例として、「優先して表示」とは、全ての指定動作を実行可能なMFP10Bを発見した場合にデバイスアイコン131のみを表示し、全ての指定動作を実行可能なMFP10Bを発見しなかった場合にデバイスアイコン132を表示することを指してもよい。また、「デバイスアイコン131、132を通じて指定動作を報知する」とは、例えば、対応するMFP10A、10Bが実行可能な指定動作を示す情報(例えば、動作名或いは動作IDのテキスト、動作を表す画像)を、デバイスアイコン131、132に記述することを指してもよい。
一方、端末プログラム65は、[NO]アイコン142の指定を入力I/F54を通じて受け付けたことに応じて(S54:NO)、S51で取得したPI機能リストが出力動作の動作IDを含むか否かを判断する(S58)。すなわち、端末プログラム65は、指定プログラムであるレーベルプログラム66が出力動作を実行可能か否かを判断する。[NO]アイコン142の指定は、第2指示操作の一例である。
次に、端末プログラム65は、レーベルプログラム66が出力動作“レーベルプリント動作”を実行可能と判断したことに応じて(S58:出力あり)、出力動作の動作ID“レーベルプリント”を示すサポート機能リストを起動APIの引数として指定して、レーベルプログラム66を起動する(S59)。一方、端末プログラム65は、指定プログラムが出力動作を実行不能と判断したことに応じて(S58:入力のみ)、サポート機能リストに代えてガイダンスフラグを起動APIの引数として指定して、指定プログラムを起動する(S60)。ガイダンスフラグは、指定動作を実行可能な指定装置が指定されていないことを示す情報である。
OS64は、起動APIが実行されたことに応じて(S57、S59、S60)、レーベルプログラム66を起動させ、且つレーベルプログラム66をフォアグラウンドで実行する。また、OS64は、フォアグランドで実行していた端末プログラム65をバックグラウンドに切り替える。起動APIによって起動されたレーベルプログラム66は、レーベルPI処理を実行する。図8を参照して、レーベルPI処理の詳細を説明する。
まず、レーベルプログラム66は、起動APIの引数としてガイダンスフラグを取得したことに応じて(S71:ガイダンスフラグ)、不図示のガイダンス画面をディスプレイ53に表示させ(S72)、レーベルPI処理を終了する。ガイダンス画面は、例えば、指定装置が指定動作を実行できないために、以降の処理を継続できないことを報知するための画面である。これにより、OS64は、バックグラウンドの端末プログラム65をフォアグラウンドで実行する。そして、フォアグラウンドに切り替えられた端末プログラム65は、例えば、S11以降の処理を実行する。
また、レーベルプログラム66は、起動APIの引数としてサポート機能リストを取得したことに応じて(S71:サポート機能リスト)、S73〜S74の処理をスキップして、指定装置が指定動作をサポートしているか否かを判断する(S75)。換言すれば、レーベルプログラム66は、S71で取得したサポート機能リストが指定装置ID“レーベルプリント”、“レーベルスキャン”を含むか否かを判断する(S75)。S75の処理は、第1判断処理の一例である。
次に、レーベルプログラム66は、図12(A)に示されるメニュー画面をディスプレイ53に表示させる(S77、S78)。メニュー画面は、動作アイコン151、152を含む第1画面の一例である。動作アイコン151、152は、レーベルプログラム66の指定動作である“レーベルプリント動作”、“レーベルスキャン動作”に対応する動作オブジェクトの一例である。そして、レーベルプログラム66は、メニュー画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S79)。S77、S78の処理は第1表示処理の一例であり、S79の処理は第1受付処理の一例である。
なお、サポート機能リストが全ての指定装置IDを含むと判断した場合(S75:ALL)、レーベルプログラム66は、全ての動作アイコン151、152を、指定可能な態様でメニュー画面に表示させる(S77)。一方、サポート機能リストが一部の指定動作ID“レーベルプリント”のみを含むと判断した場合(S75:一部)、レーベルプログラム66は、指定装置がサポートするレーベルプリント動作に対応する動作アイコン151を指定可能な態様で、指定装置がサポートしていないレーベルスキャン動作に対応する動作アイコン152を指定不能な態様で、メニュー画面に表示させる(S78)。
次に、レーベルプログラム66は、指定可能な態様の動作アイコン151の指定を入力I/F54を通じて受け付けたことに応じて(S79:プリント)、図12(B)に示されるレーベル編集画面をディスプレイ53に表示させる(S80)。レーベル編集画面は、レーベル画像161と、編集アイコン162、163、164と、[プリント]アイコン165とを含む。そして、レーベルプログラム66は、レーベル編集画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S81)。
レーベル画像161は、編集アイコン162〜164を用いて編集された画像である。編集アイコン162は、レーベル画像161に文字列を追加する指示に対応する。編集アイコン163は、レーベル画像161に色を付加する指示に対応する。編集アイコン164は、レーベル画像161に写真を追加する指示に対応する。[プリント]アイコン165は、レーベルプリント動作の実行指示に対応する。
そして、レーベルプログラム66は、編集アイコン162〜164対するユーザ操作に従ってレーベル画像161を編集し、編集後のレーベル画像161を示すレーベル画像データをメモリ62に記憶させる。この処理は、レーベルプリント動作の実行条件の指定を受け付ける第2受付処理の一例である。レーベルプリント動作の実行条件とは、例えば、レーベルプリント動作の対象となる画像データ、レーベルプリント動作の画質(例えば、ファイン、ノーマル等)、レーベルに記録する画像の色(例えば、カラー、モノクロ等)等であってもよい。
次に、レーベルプログラム66は、[プリント]アイコン165の指定を入力I/F54を通じて受け付けたことに応じて(S81:Yes)、レーベルプリント動作の実行を指定装置に指示する動作指示処理を、端末プログラム65に指示する(S82)。より詳細には、レーベルプログラム66は、動作ID“レーベルプリント”及びレーベル画像データのURIを引数として指定して、端末プログラム65が提供する動作指示関数を実行する。S82の処理は、第2指示処理の一例である。
一方、レーベルプログラム66は、指定可能な態様の動作アイコン152の指定を入力I/F54を通じて受け付けたことに応じて(S79:スキャン)、動作ID“レーベルスキャン”を引数として指定して、動作指示関数を実行する(S83)。次に、レーベルプログラム66は、指定装置が生成したスキャンデータを端末プログラム65を通じて取得する(S84)。レーベルプログラム66は、例えば、動作指示関数の戻り値としてスキャンデータを取得すればよい。S83の処理は第2指示処理の一例であり、S84の処理は第2取得処理の一例である。
そして、レーベルプログラム66は、S84で取得したスキャンデータを出力する(S85)。一例として、レーベルプログラム66は、取得したスキャンデータで示されるスキャン画像を含むレーベル編集画面を、ディスプレイ53に表示させてもよい。他の例として、レーベルプログラム66は、取得したスキャンデータをメモリ62に記憶させてもよい。S85の処理は、出力処理の一例である。
また、レーベルプログラム66は、図10(A)に示されるプログラムアイコン112が指定されたことに応じて起動された場合にも、レーベルPI処理を実行する。但し、この場合のレーベルプログラム66は、引数として情報を取得しない(S71:なし)。そして、レーベルプログラム66は、リスト通知フラグ及び指定動作ID“レーベルプリント”、“レーベルスキャン”を引数として指定して、動作指示関数を実行する(S73)。リスト通知フラグは、サポート機能リストの通知を端末プログラム65に指示するための情報である。
次に、レーベルプログラム66は、S73で実行した動作指示関数の戻り値として、サポート機能リストを端末プログラム65から取得する(S74:Yes)。S74の処理は、第1取得処理の一例である。次に、レーベルプログラム66は、S74で取得したサポート機能リストを用いて、S75以降の処理を実行する。
なお、レーベルプログラム66は、指定装置が指定動作をサポートしていないと判断したことに応じて(S75:0)、デバイス選択フラグ及び指定動作ID“レーベルプリント”、“レーベルスキャン”を引数として指定して、動作指示関数を実行する(S76)。デバイス選択フラグは、デバイス選択処理の実行を端末プログラム65に指示するための情報である。S76の処理は、第1指示処理の一例である。
次に、レーベルプログラム66は、S76で実行した動作指示関数の戻り値として、新たなサポート機能リストを端末プログラム65から取得する(S74:Yes)。そして、レーベルプログラム66は、S74で取得したサポート機能リストを用いて、S75以降の処理を実行する。すなわち、レーベルプログラム66は、指定装置IDを含む指定装置情報がメモリ62に記憶されている状態で、S77以降の処理を実行する。S77以降の処理は既に説明したので、説明を省略する。
OS64は、動作指示関数が実行されたことに応じて、端末プログラム65をフォアグラウンドで実行し、フォアグラウンドで実行していたレーベルプログラム66をバックグラウンドに切り替える。そして、端末プログラム65は、動作指示関数が実行されたことに応じて、指示受付処理を実行する。図9を参照して、指示受付処理の詳細を説明する。
まず、端末プログラム65は、動作指示関数の引数として指定された情報を取得する(S91、S95、S101)。端末プログラム65は、例えば、動作ID“レーベルスキャン”を動作指示関数の引数として取得したことに応じて(S91:Yes)、通信I/F55を通じて指定装置にレーベルスキャン指示情報を送信する(S92)。レーベルスキャン指示情報は、レーベルスキャン動作を実行させる動作指示情報の一例である。レーベルスキャン指示情報は、例えば、動作ID“レーベルスキャン”を含む。S92の処理は、動作指示処理の一例である。
一方図示は省略するが、MFP10の装置プログラム35は、通信I/F25を通じて携帯端末50からレーベルスキャン指示情報を受信する。そして、装置プログラム35は、受信したレーベルスキャン指示情報に従ったレーベルスキャン動作を、スキャナ12に実行させる。そして、装置プログラム35は、スキャナ12が生成したスキャンデータを、通信I/F25を通じて携帯端末50に送信する。
次に、端末プログラム65は、レーベルスキャン指示情報の応答として、通信I/F55を通じてMFP10からスキャンデータを受信する(S93:Yes)。そして、端末プログラム65は、S93で受信したスキャンデータを、動作指示関数の戻り値として指定して、レーベルプログラム66に引き渡す(S94)。これにより、OS64は、レーベルプログラム66をフォアグラウンドで実行し、フォアグラウンドで実行していた端末プログラム65をバックグラウンドに切り替える。
また、端末プログラム65は、動作ID“レーベルプリント”及びURIを動作指示関数の引数として取得したことに応じて(S95:Yes)、レーベルプリント動作を実行可能な指定装置が指定されているか否かを判断する(S96)。すなわち、端末プログラム65は、動作ID“レーベルプリント”を含む指定装置情報がメモリ62に記憶されているか否かを判断する。
次に、端末プログラム65は、レーベルプリント動作を実行可能な指定装置が指定されていないと判断したことに応じて(S96:No)、デバイス選択処理を実行する(S97)。S97で実行するデバイス選択処理の検索条件は、「通信ネットワーク101を通じて通信可能なMFPのうち、レーベルプリント動作を実行可能なMFP」である。S97の処理は、検索条件が異なる点を除いてS55と同様なので、説明は省略する。
次に、端末プログラム65は、レーベルプリント動作を実行可能な指定装置が指定されたか否かを、S97の処理後に再び判断する(S98)。そして、端末プログラム65は、S96、S98の一方でレーベルプリント動作を実行可能な指定装置が指定されていると判断したことに応じて(S96:Yes/S98:Yes)、通信I/F55を通じて指定装置にレーベルプリント指示情報を送信する(S100)。レーベルプリント指示情報は、レーベルプリント動作を実行させる動作指示情報の一例である。レーベルプリント指示情報は、例えば、動作ID“レーベルスキャン”と、レーベル画像データとを含む。S100の処理は、動作指示処理の一例である。
一方図示は省略するが、MFP10の装置プログラム35は、通信I/F25を通じて携帯端末50からレーベルプリント指示情報を受信する。そして、装置プログラム35は、受信したレーベルプリント指示情報に従ったレーベルプリント動作を、プリンタ11に実行させる。
また、端末プログラム65は、レーベルプリント動作を実行可能な指定装置が指定されていないと判断したことに応じて(S98:No)、S95で取得した動作ID及びURIを、プログラムID“レーベル”のプログラムレコードに、コンテンツ情報として登録する(S99)。レーベルプリント動作を実行可能な指定装置が指定されていないとS98で判断される場合とは、例えば、レーベルプリント動作を実行可能なMFP10がS41で発見されなかった場合である。
また、端末プログラム65は、デバイス選択フラグ及び指定動作IDを動作指示関数の引数として取得したことに応じて(S101:デバイス選択)、デバイス選択処理を実行する(S102)。S102で実行するデバイス選択処理の検索条件は、「通信ネットワーク101を通じて通信可能なMFPのうち、指定動作を実行可能なMFP」である。S102の処理はS55と同様なので、説明は省略する。S102の処理は、装置指定処理の一例である。
そして、端末プログラム65は、S101で取得した指定動作IDのうち、S102でメモリ62に記憶された指定装置情報に含まれる動作IDを示すサポート機能リストを、動作指示関数の戻り値として指定して、レーベルプログラム66に引き渡す(S103)。これにより、OS64は、レーベルプログラム66をフォアグラウンドで実行し、フォアグラウンドで実行していた端末プログラム65をバックグラウンドに切り替える。
さらに、端末プログラム65は、リスト通知フラグ及び指定動作IDを動作指示関数の引数として取得したことに応じて(S101:リスト通知)、S101で取得した指定動作IDのうち、メモリ62に記憶されている指定装置情報に含まれる動作IDを示すサポート機能リストを、動作指示関数の戻り値として指定して、レーベルプログラム66に引き渡す(S103)。これにより、OS64は、レーベルプログラム66をフォアグラウンドで実行し、フォアグラウンドで実行していた端末プログラム65をバックグラウンドに切り替える。
また図4に戻って、端末プログラム65は、指定可能な態様のコンテンツアイコン124の指定を入力I/F54を通じて受け付けたことに応じて(S15:Yes)、コンテンツアイコン124に対応するコンテンツ情報を、メモリ62から読み出す。そして、端末プログラム65は、通信I/F55を通じて指定装置にシートプリント指示情報を送信する(S19)。一方図示は省略するが、端末プログラム65は、指定不能な態様のコンテンツアイコンの指定を入力I/F54を通じて受け付けたとしても、S19の処理を実行しない。
シートプリント指示情報は、読み出したコンテンツ情報のURIで示される画像データ“地図01.JPEG”を対象として、読み出したコンテンツ情報の動作ID“シートプリント”で識別されるシートプリント動作を実行させるための情報である。シートプリント指示情報は、例えば、読み出したURIで示される画像データ“地図01.JPEG”と、読み出した動作ID“シートプリント”とを含む。S19におけるシートプリント指示情報は、第2指示情報の一例である。一方図示は省略するが、MFP10の装置プログラム35は、通信I/F25を通じて携帯端末50からシートプリント指示情報を受信する。そして、装置プログラム35は、受信したシートプリント指示情報に従ったシートプリント動作を、プリンタ11に実行させる。
また、端末プログラム65は、動作アイコン121の指定を入力I/F54を通じて受け付けたことに応じて(S16:Yes)、通信I/F55を通じて指定装置にシートプリント指示情報を送信する(S20)。S20におけるシートプリント指示情報は、例えば、入力I/F54を通じてユーザが指定した画像データを含む。さらに、端末プログラム65は、動作アイコン122の指定を入力I/F54を通じて受け付けたことに応じて(S16:Yes)、通信I/F55を通じて指定装置にシートスキャン指示情報を送信する(S20)。シートスキャン指示情報は、シートスキャン動作を実行させるための情報である。シートスキャン指示情報は、例えば、動作ID“シートスキャン”を含む。
一方図示は省略するが、MFP10の装置プログラム35は、通信I/F25を通じて携帯端末50からシートスキャン指示処理を受信する。そして、装置プログラム35は、受信したシートスキャン指示情報に従ったシートスキャン動作を、スキャナ12に実行させる。さらに、装置プログラム35は、シートスキャン動作でスキャナ12が生成したスキャンデータを、通信I/F25を通じて携帯端末50に送信する。そして、端末プログラム65は、例えば、通信I/F55を通じてMFP10から受信したスキャンデータを、メモリ62に記憶させる。
[本実施形態の作用効果]
上記の実施形態に係るレーベルプログラム66は、起動されたタイミングで指定装置が指定動作をサポートしているか否かを判断する(S75)。そして、レーベルプログラム66は、指定装置が指定動作をサポートしていない場合に、指定動作を実行可能なMFP10のうちからユーザに指定装置を指定させる処理を、端末プログラム65に実行させる(S76→S102)。これにより、レーベルプログラム66がS82/S83を実行する前に、適切な指定装置を簡単に選択させることができる。なお、上記の実施形態では、レーベルプログラム66を指定プログラムとした例を説明したが、地図プログラム67或いは名刺プログラムが指定プログラムとなった場合も同様である。
また、上記の実施形態によれば、レーベルプログラム66が指示し得る指定動作を指定装置がサポートしていない場合に(S52:No)、レーベルプログラム66を起動させるのに先立って(S57/S59)、指定動作を実行可能なMFP10のうちから所望のMFP10をユーザに指定させることができる(S55)。これにより、起動しようとするレーベルプログラム66に適したMFP10を簡単に選択させることができる。
また、上記の実施形態によれば、S57、S59において、指定装置がサポートしている指定動作の動作IDが、起動APIの引数としてレーベルプログラム66に通知される。そして、レーベルプログラム66は、図12(A)に示されるメニュー画面において、指定装置がサポートしている指定動作に対応する動作アイコンを指定可能にし、指定装置がサポートしていない指定動作に対応する動作アイコンを指定不能にする。このように、レーベルプログラム66は、サポート機能リストを取得することによって、現在の指定装置を用いて利用可能な機能を、ユーザに報知すること等が可能となる。
なお、レーベルプログラム66は、指定装置がサポートしている指定動作が複数の場合にのみ、S77〜S79の処理を実行してもよい。一方、レーベルプログラム66は、指定装置がレーベルプリント動作のみをサポートしている場合、S77〜S79の処理をスキップして、S80〜S82の処理を実行してもよい。同様に、レーベルプログラム66は、指定装置がレーベルスキャン動作のみをサポートしている場合、S77〜S79の処理をスキップして、S83〜S85の処理を実行してもよい。
すなわち、レーベルプログラム66は、指定装置が指定動作を1つだけサポートしている場合に、S79で当該指定動作が指定されたものとして、S80以降の処理を実行すればよい。これにより、指定装置が1つの指定動作のみをサポートしている場合に、S77〜S79の処理がスキップされるので、レーベルプログラム66に対するユーザ操作をさらに削減することができる。
また、レーベルプログラム66において、レーベルプリント動作の対象となるレーベル画像データをユーザに指定させる処理は、指定装置がレーベルプリント動作をサポートしていなくても実行することができる。すなわち、レーベルプログラム66を起動するタイミングで指定装置を指定する必要がない場合もあり得る。そこで上記の実施形態のように、レーベルプログラム66の起動前に指定装置を指定するか否かを、確認画面を通じてユーザに選択させることによって、指定装置を指定させる処理を適切なタイミングで実行することができる。
また、上記の実施形態によれば、指定装置を指定せずにレーベルプログラム66を起動し(S58:出力あり→S59)、且つ当該レーベルプログラム66からレーベルプリント動作が指示された場合に(S95:Yes&S96:No)、デバイス選択処理が実行される(S97)。これにより、レーベルプリント動作が指示されたタイミングで、レーベルプリント動作を実行可能なMFP10のうちから、所望のMFP10をユーザに指定させることができる。
さらに、上記の実施形態によれば、レーベルプログラム66が指示したレーベルプリント動作を実行可能なMFP10が存在しない場合に(S98:No)、レーベルプログラム66から取得した動作ID及びURIがメモリ62に保存される(S99)。そして、端末プログラム65は、メイン画面のコンテンツアイコンが指定されたことに応じて(S15:Yes)、メモリ62に記憶されたコンテンツ情報に従った出力動作を指定装置に実行させる(S19)。これにより、例えば、レーベル画像161を編集するためにレーベルプログラム66に対してユーザがした操作が無駄になることを抑制できる。
なお、コンテンツアイコン124は、指定装置情報がコンテンツ情報の動作IDを含む場合に指定可能な態様で表示され、指定装置情報がコンテンツ情報の動作IDを含まない場合に指定不能な態様で表示される。また、コンテンツアイコン124には、URIで示される画像データを加工したサムネイル画像等が用いられる。これにより、コンテンツ情報がメモリ62に記憶されていることをユーザに報知し、且つ当該コンテンツ情報に従った出力動作の実行をユーザに促すことができる。
また、上記の実施形態によれば、図11(A)に示されるデバイス選択画面において、全ての指定動作を実行可能なMFP10Bに対応するデバイスアイコン131が、一部の指定動作のみを実行可能なMFP10Aに対応するデバイスアイコン132より優先して表示される。さらに、S41で発見したMFP10A、10Bが実行可能な指定動作が、対応するデバイスアイコン131、132を通じて報知される。これにより、レーベルプログラム66に適したMFP10を、ユーザに簡単に指定させることができる。
また、上記の実施形態のMFP10及び携帯端末50において、メモリ32、62に記憶された各種プログラムがCPU31、61によって実行されることによって、本発明のントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
さらに、本発明は、MFP10及び携帯端末50として実現できるだけでなく、MFP10及び携帯端末50に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、non−transitoryな記録媒体に記録されて提供されてもよい。non−transitoryな記録媒体は、CD−ROM、DVD−ROM等の他、通信ネットワーク101を通じてMFP10及び携帯端末50に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワーク101を通じて配信されてもよい。