(57)【要約】【課題】ネットワークに接続されるデバイスを組み合わせて所定の機能を実現させる場合に、当該所定の機能の実行を容易にキャンセルし得る情報処理プログラムおよび端末装置を提供すること。【解決手段】本発明によれば、ネットワークに接続された入力装置および出力機能が各々実行する入力機能と出力機能とから構成される主機能の実行中に、当該主機能の実行をキャンセルする指示である第１キャンセル指示を受け付けた場合には、キャンセル対象の主機能を構成する各副機能を実行する入力装置および出力装置のうち、副機能の実行が完了していない入力装置または出力装置について、実行が完了していない副機能の実行がキャンセルされる。【選択図】図４
2015060393.tif 000002
【特許請求の範囲】
【請求項１】
制御部を備えた端末装置の、前記制御部が実行可能な情報処理プログラムであって、
ネットワークに接続された複数の外部装置のうち、主機能を構成する副機能としての入力機能と出力機能とをそれぞれ実行する入力装置と出力装置とを設定する装置設定手段と、
前記装置設定手段により設定された入力装置および出力装置各々が実行する入力機能と出力機能とから構成される主機能を実行させる主機能実行手段と、
前記主機能実行手段により実行中の主機能の実行をキャンセルする指示である第１キャンセル指示を受け付ける指示受付手段と、
前記指示受付手段により前記第１キャンセル指示を受け付けた場合、キャンセル対象の主機能を構成する各副機能を実行する入力装置および出力装置のうち、副機能の実行が完了していない入力装置または出力装置について、実行が完了していない副機能の実行をキャンセルするキャンセル実行手段として、
前記制御部を機能させることを特徴とする情報処理プログラム。
【請求項２】
前記キャンセル実行手段は、前記指示受付手段により前記第１キャンセル指示を受け付けた場合、キャンセル対象の主機能を構成する各副機能を実行する入力装置および出力装置のうち、副機能を実行中の入力装置および出力装置に対し、実行中である副機能の実行をキャンセルさせる指示である第２キャンセル指示を出力することを特徴とする請求項１記載の情報処理プログラム。
【請求項３】
前記装置設定手段は、１の主機能を実行する場合に利用する前記入力装置または前記出力装置として、複数の外部装置を設定可能であり、
前記指示受付手段により前記第１キャンセル指示を受け付けた場合に、前記装置設定手段により複数の入力装置または出力装置が設定されている場合には、当該設定されている複数の入力装置または出力装置のうち、２以上の入力装置または出力装置が、副機能を実行中であるかを判断する第１判断手段と、
前記第１判断手段により、前記２以上の入力装置または出力装置が副機能を実行中であると判断された場合、副機能を実行中である前記２以上の入力装置または出力装置のうち、いずれの入力装置または出力装置を、副機能の実行をキャンセルする入力装置または出力装置として設定する対象設定手段として、
前記制御部を機能させ、
前記キャンセル実行手段は、前記対象設定手段により設定された入力装置または出力装置に対し、前記第２キャンセル指示を出力することを特徴とする請求項２記載の情報処理プログラム。
【請求項４】
前記キャンセル実行手段は、前記指示受付手段により前記第１キャンセル指示を受け付けた場合、キャンセル対象の主機能を構成する各副機能を実行する入力装置および出力装置のうち、副機能が未実行である入力装置および出力装置について、当該未実行である副機能の実行をキャンセルすることを特徴とする請求項１から３のいずれかに記載の情報処理プログラム。
【請求項５】
前記指示受付手段により前記第１キャンセル指示を受け付けた場合、副機能の実行をキャンセル可能な入力装置または出力装置を、選択可能に表示部に表示させる第１表示制御手段として、
前記制御部を機能させ、
前記キャンセル実行手段は、前記第１表示制御手段により表示された、キャンセル可能な入力装置または出力装置のうち、選択された入力装置または出力装置について、副機能の実行をキャンセルすることを特徴とする請求項１から４のいずれかに記載の情報処理プログラム。
【請求項６】
前記端末装置は、記憶部を備え、
前記入力装置が入力機能の実行により取得したデータを、当該入力装置から入力データとして受信する受信手段と、
前記受信手段により受信した入力データを前記記憶部に記憶する記憶制御手段と、
前記指示受付手段により前記第１キャンセル指示を受け付けた場合に、前記記憶部に前記入力データが記憶されている場合、当該入力データを前記記憶部から削除する削除手段として、
前記制御部を機能させることを特徴とする請求項１から５のいずれかに記載の情報処理プログラム。
【請求項７】
前記装置設定手段により設定された入力装置および出力装置とともに、当該入力装置の入力機能と当該出力装置の出力機能とから構成される主機能の実行開始を指示する実行ボタンが表示される第１画面を表示部に表示させる第２表示制御手段として、
前記制御部を機能させ、
前記主機能実行手段は、前記実行ボタンに対する操作を受け付けた場合、前記装置設定手段により設定された入力装置および出力装置に対し主機能を実行させ、
前記主機能実行手段による主機能の実行中に、前記指示受付手段により前記第１キャンセル指示を受け付けた場合、前記装置設定手段により設定された入力装置および出力装置が少なくとも表示された前記第１画面を前記表示部に表示させる第３表示制御手段として、
前記制御部を機能させることを特徴とする請求項１から６のいずれかに記載の情報処理プログラム。
【請求項８】
前記装置設定手段により設定された入力装置および出力装置とともに、当該入力装置の入力機能と当該出力装置の出力機能とから構成される主機能の実行開始を指示する実行ボタンが表示される第１画面を表示部に表示させる第２表示制御手段として、
前記制御部を機能させ、
前記第２表示制御手段は、前記第１画面に、前記装置設定手段により設定された入力装置および出力装置がそれぞれ実行する入力機能および出力機能を特定する情報を表示することを特徴とする請求項１から７のいずれかに記載の情報処理プログラム。
【請求項９】
前記装置設定手段により設定された入力装置および出力装置のうち、副機能を実行中の入力装置または出力装置について、当該副機能の実行中であることを示す情報を表示部に表示させる第４表示制御手段として、
前記制御部を機能させることを特徴とする請求項１から８のいずれかに記載の情報処理プログラム。
【請求項１０】
前記装置設定手段により設定された入力装置および出力装置のうち、副機能の実行が完了した入力装置または出力装置について、当該副機能の実行が完了したことを示す情報を表示部に表示させる第５表示制御手段として、
前記制御部を機能させることを特徴とする請求項１から９のいずれかに記載の情報処理プログラム。
【請求項１１】
前記装置設定手段により設定された入力装置および出力装置がそれぞれ実行する入力機能および出力機能の実行が全て完了したことを条件として、当該入力機能と当該出力機能とから構成される主機能の実行が完了したことを示す情報を表示部に表示させる第６表示制御手段として、
前記制御部を機能させることを特徴とする請求項１から１０のいずれかに記載の情報処理プログラム。
【請求項１２】
制御部を備え、
前記制御部は、
ネットワークに接続された複数の外部装置のうち、主機能を構成する副機能としての入力機能と出力機能とをそれぞれ実行する入力装置と出力装置とを設定する装置設定手段と、
前記装置設定手段により設定された入力装置および出力装置各々が実行する入力機能と出力機能とから構成される主機能を実行させる主機能実行手段と、
前記主機能実行手段により実行中の主機能の実行をキャンセルする指示である第１キャンセル指示を受け付ける指示受付手段と、
前記指示受付手段により前記第１キャンセル指示を受け付けた場合、キャンセル対象の主機能を構成する各副機能を実行する入力装置および出力装置のうち、副機能の実行が完了していない入力装置または出力装置について、実行が完了していない副機能の実行をキャンセルするキャンセル実行手段と、
を備えていることを特徴とする端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラムおよび端末装置に関する。
【背景技術】
【０００２】
特許文献１には、ネットワーク上の複数の機器と画像処理装置との組み合わせによって実現可能な複数の機能の中から、ユーザにより１の機能が選択された場合に、前記ネットワーク上の複数の機器の中から、選択された機能を実現するために画像処理装置と組み合わせる機器を選択し、当該機器との通信を制御する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３７８７４３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載される技術を用い、ネットワークに接続されるデバイスと組み合わせて１の機能を実現させる場合、当該機能の実行を開始した後に、各デバイスの状態を把握することは容易でない。そのため、機能の実行をキャンセルさせる場合、どのデバイスにキャンセル指示を出せばよいかの判断も容易でなかった。
【０００５】
本発明は、上述した事情を鑑みてなされたものであり、ネットワークに接続されるデバイスを組み合わせて所定の機能を実現させる場合に、当該所定の機能の実行を容易にキャンセルし得る情報処理プログラムおよび端末装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この目的を達成するために、本発明の情報処理プログラムは、制御部を備えた端末装置の、前記制御部が実行可能なプログラムであり、ネットワークに接続された複数の外部装置のうち、主機能を構成する副機能としての入力機能と出力機能とをそれぞれ実行する入力装置と出力装置とを設定する装置設定手段と、前記装置設定手段により設定された入力装置および出力装置に対し、当該入力装置による入力機能の実行と当該出力装置による出力機能の実行とから構成される主機能を実行させる主機能実行手段と、前記主機能実行手段により実行中の主機能の実行をキャンセルする指示である第１キャンセル指示を受け付ける指示受付手段と、前記指示受付手段により前記第１キャンセル指示を受け付けた場合、キャンセル対象の主機能を構成する各副機能を実行する入力装置および出力装置のうち、副機能の実行が完了していない入力装置または出力装置について、実行が完了していない副機能の実行をキャンセルするキャンセル実行手段として、前記制御部を機能させる。
【０００７】
なお、本発明は、端末装置、端末装置を制御する制御装置、情報処理システム、情報処理方法、情報処理プログラムを記録する記録媒体等の種々の態様で構成できる。
【発明の効果】
【０００８】
請求項１記載の情報処理プログラムによれば、ネットワークに接続された入力装置および出力機能が各々実行する入力機能と出力機能とから構成される主機能の実行中に、当該主機能の実行をキャンセルする指示である第１キャンセル指示を受け付けた場合には、キャンセル対象の主機能を構成する各副機能を実行する入力装置および出力装置のうち、副機能の実行が完了していない入力装置または出力装置について、実行が完了していない副機能の実行がキャンセルされる。よって、第１キャンセル指示を行うことにより、キャンセル対象となる主機能を構成する副機能のうち、実行が完了していない副機能の実行がキャンセルされるので、主機能の実行を容易にキャンセルし得る。
【０００９】
特許請求の範囲および明細書において、入力装置が実行する「入力機能」とは、端末装置が入力データとして受け取るデータを取り込む機能、または、当該データを、当該データが記憶される記憶部から読み出す機能を示す。一方、出力装置が実行する「出力機能」とは、端末装置が出力データとして出力したデータに基づく出力を行う機能、または、当該データを記憶部に記憶する機能を示す。
【００１０】
請求項２記載の情報処理プログラムによれば、請求項１が奏する効果に加え、次の効果を奏する。第１キャンセル指示を受け付けた場合には、キャンセル対象の主機能を構成する各副機能を実行する入力装置および出力装置のうち、副機能を実行中の入力装置および出力装置に対し、実行中である副機能の実行をキャンセルさせる指示である第２キャンセル指示が出力される。よって、第１キャンセル指示を行った場合には、副機能を実行中の入力装置および出力装置に対し、第２キャンセル指示が出力されるので、実行中の副機能の実行をキャンセルさせることができる。
【００１１】
請求項３記載の情報処理プログラムによれば、請求項２が奏する効果に加え、次の効果を奏する。第１キャンセル指示を受け付けた場合に、設定されている複数の入力装置または出力装置のうち、２以上の入力装置または出力装置が副機能を実行中である場合には、当該２以上の入力装置または出力装置のうち、いずれの入力装置または出力装置が、副機能の実行をキャンセルする入力装置または出力装置として設定される。そして、そのように設定された入力装置または出力装置に対し、第２キャンセル指示が出力される。よって、２以上の入力装置または出力装置が副機能を実行中である場合には、キャンセルの対象とされる入力装置または出力装置に限り、第２キャンセル指示を出力できるので、一部の副機能の実行だけをキャンセルできる。
【００１２】
請求項４記載の情報処理プログラムによれば、請求項１から３のいずれかが奏する効果に加え、次の効果を奏する。第１キャンセル指示を受け付けた場合には、キャンセル対象の主機能を構成する各副機能を実行する入力装置および出力装置のうち、副機能が未実行である入力装置および出力装置について、当該未実行である副機能の実行がキャンセルされる。よって、第１キャンセル指示を行った場合には、未実行である副機能の実行をキャンセルできるので、副機能が無駄に実行されることを抑制できる。
【００１３】
請求項５記載の情報処理プログラムによれば、請求項１から４のいずれかが奏する効果に加え、次の効果を奏する。第１キャンセル指示を受け付けた場合には、副機能の実行をキャンセル可能な入力装置または出力装置が、選択可能に表示部に表示される。よって、ユーザは、表示部の表示に基づき、副機能の実行をキャンセルさせる入力装置または出力装置を、所望に応じて適宜選択できる。
【００１４】
請求項６記載の情報処理プログラムによれば、請求項１から５のいずれかが奏する効果に加え、次の効果を奏する。第１キャンセル指示を受け付けた場合、入力装置が入力機能の実行により取得したデータが、当該データを記憶する記憶部から削除される。よって、記憶部の記憶容量を有効に活用できる。
【００１５】
請求項７記載の情報処理プログラムによれば、請求項１から６のいずれかが奏する効果に加え、次の効果を奏する。設定された入力装置および出力装置とともに、実行ボタンが表示される第１画面が表示されている場合に、実行ボタンに対する操作を受け付けると、主機能が実行される。そして、主機能の実行中に、第１キャンセル指示を受け付けた場合には、設定された入力装置および出力装置が少なくとも表示された第１画面が表示部に表示される。よって、ユーザは、第１キャンセル指示によってキャンセル対象とした主機能が、どの入力装置および出力装置を用いる主機能であったかを、第１画面の内容から把握できる。
【００１６】
請求項８記載の情報処理プログラムによれば、請求項１から７のいずれかが奏する効果に加え、次の効果を奏する。設定された入力装置および出力装置とともに、実行ボタンが表示される第１画面に、当該設定された入力装置および出力装置がそれぞれ実行する入力機能および出力機能を特定する情報が表示される。よって、ユーザは、実行ボタンを操作することにより実行される主機能を構成する入力機能および出力機能を把握できる。
【００１７】
請求項９記載の情報処理プログラムによれば、請求項１から８のいずれかが奏する効果に加えて、次の効果を奏する。設定された入力装置および出力装置のうち、副機能を実行中の入力装置または出力装置について、当該副機能の実行中であることを示す情報が表示部に表示される。よって、ユーザは、当該表示に基づき、主機能の実行状況を把握できるので、主機能をキャンセルするタイミングを計り易い。
【００１８】
請求項１０記載の情報処理プログラムによれば、請求項１から９のいずれかが奏する効果に加えて、次の効果を奏する。設定された入力装置および出力装置のうち、副機能の実行が完了した入力装置または出力装置について、当該副機能の実行が完了したことを示す情報が表示部に表示される。よって、ユーザは、当該表示に基づき、主機能の実行状況を把握できるので、主機能をキャンセルするタイミングを計り易い。
【００１９】
請求項１１記載の情報処理プログラムによれば、請求項１から１０のいずれかが奏する効果に加えて、次の効果を奏する。設定された入力装置および出力装置がそれぞれ実行する入力機能および出力機能の実行が全て完了したことを条件として、当該入力機能と当該出力機能とから構成される主機能の実行が完了したことを示す情報が、当該副機能の実行が完了したことを示す情報が表示部に表示される。よって、ユーザは、当該表示に基づき、主機能の実行が完了しており、主機能の実行をキャンセルする必要がないことを認識できる。
【００２０】
請求項１２記載の情報処理装置によれば、請求項１記載の情報処理プログラムと同様の効果を奏する。
【図面の簡単な説明】
【００２１】
【図１】端末の電気的構成を示すブロック図である。
【図２】メイン処理を示すフローチャートである。
【図３】アクション実行処理を示すフローチャートである。
【図４】ジョブキャンセル処理を示すフローチャートである。
【図５】アクション実行画面の一例を示す模式図である。
【発明を実施するための形態】
【００２２】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、本発明の情報処理プログラムの一実施形態であるアプリケーション１２ｂを搭載する端末１０の電気的構成を示すブロック図である。なお、以下では「アプリケーション」を「アプリ」と称することがある。
【００２３】
本実施形態の端末１０は、スマートフォンなどの携帯端末として構成される。端末１０には、ＣＰＵ１１、フラッシュメモリ１２、ＲＡＭ１３、操作キー１５、ＬＣＤ１６、タッチパネル１７、メモリカードインタフェース（メモリカードＩ／Ｆ）１８、音声入出力部１９、電話網通信部２０、無線通信部２１が設けられる。これらの各部は、バスライン２２を介して互いに接続される。
【００２４】
ＣＰＵ１１は、フラッシュメモリ１２等に記憶される固定値やプログラム等に従って、バスライン２２と接続された各部を制御する。フラッシュメモリ１２は、書換可能な不揮発性のメモリである。フラッシュメモリ１２には、オペレーティングシステム１２ａ、アプリ１２ｂが格納される。なお、以下では「オペレーティングシステム」を「ＯＳ」と称することがある。また、以下では、アプリケーションやオペレーティングシステムなどのプログラムを実行するＣＰＵ１１のことを、単にプログラム名で記載する場合もある。例えば「アプリケーション」という記載が「アプリケーションを実行するＣＰＵ１１」を意味する場合もある。ＯＳ１２ａは、端末１０の標準機能を実現するための基本ソフトウェアである。本実施形態のＯＳ１２ａは、アンドロイド（登録商標）ＯＳである。
【００２５】
アプリ１２ｂは、各種デバイスのベンダによって提供されるアプリケーションである。アプリ１２ｂは、ユーザによって端末１０にインストールされ、端末１０から、対応するデバイスの利用を可能とする。本実施形態のアプリ１２ｂは、パーソナルコンピュータなどを経由せずに、端末１０から、無線ＬＡＮネットワーク５００に接続された、スキャナ６０、プリンタ７０、多機能周辺装置（以下「ＭＦＰ」と称す）８０などの各種デバイスの利用を可能とする。
【００２６】
また、詳細は後述するが、本実施形態のアプリ１２ｂは、無線ＬＡＮネットワーク５００に接続される各種デバイス、および、インターネット８００に接続される各種サービスを提供するサービス提供サーバ１００からなる群のうち、ユーザにより適宜選択された入力装置と出力装置を用いた所定の機能を実現可能に構成される。より詳細には、アプリ１２ｂは、入力装置が有する入力機能と、出力装置が有する出力機能とを連係させることによって、入力機能と出力機能とから構成される所定の機能を実現させることができる。
【００２７】
なお、入力装置が実行する「入力機能」とは、アプリ１２ｂを搭載する端末１０が入力データとして受け取るデータを取り込む機能、または、当該データを、当該データが記憶される記憶部から読み出す機能を示す。例えば、原稿画像を読み取るスキャン機能や、画像データを外部装置から受信するファクシミリ受信機能などは、入力機能に相当する。また、内部メモリや、メモリカードなどの記録メディアや、データベースなどの記憶部からデータを読み出す機能もまた、入力機能に相当する。
【００２８】
一方、出力装置が実行する「出力機能」とは、アプリ１２ｂを搭載する端末１０が出力データとして出力したデータに基づく出力を行う機能、または、当該データを記憶部に記憶する（保存する）機能を示す。例えば、出力データが画像データである場合に、当該画像データに基づく印刷画像を出力するプリント機能や、当該画像データを外部装置へ送信するファクシミリ送信機能もまた、出力機能に相当する。また、内部メモリや、メモリカードなどの記録メディアや、データベースなどの記憶部にデータを記憶する機能もまた、出力機能に相当する。
【００２９】
以下では、「入力機能と出力機能とから構成される所定の機能」を、特に「主機能」と称することがある。例えば、入力装置および出力装置として、それぞれ、スキャナ６０およびプリンタ７０が選択された場合、アプリ１２ｂは、スキャナ６０が有するスキャン機能と、プリンタ７０が有するプリント機能とを連係させることによって、スキャナ６０が読み込んだ原稿画像の画像データを、プリンタ７０から印刷画像として出力させる、所謂コピー機能を、主機能として実現させることができる。
【００３０】
特に、本実施形態のアプリ１２ｂは、入力装置と出力装置を用いて、入力装置の入力機能と出力装置の出力機能とから構成される主機能を実現させる場合に、実行中の主機能を容易にキャンセルできるよう構成される。なお、後述する図２から図４のフローチャートに示す各処理は、ＣＰＵ１１がアプリ１２ｂに従い実行する処理である。
【００３１】
また、フラッシュメモリ１２には、アプリ用記憶領域１２ｃが設けられる。アプリ用記憶領域１２ｃは、アプリ１２ｂが使用する、アプリ１２ｂに割り当てられた記憶領域である。アプリ用記憶領域１２ｃには、例えば、ユーザが入力装置または出力装置の選択候補として登録したデバイス（以下、このデバイスを「登録デバイス」と称す）や、ユーザが登録したアクションなどが記憶される。なお、「アクション」は、主機能の集合体である。本実施形態では、１のアクションに対し、１または複数の主機能を対応付けることができる。１のアクションに対する実行指示を行うことにより、当該アクションに対応付けられている１または複数の主機能が実行される。
【００３２】
ＲＡＭ１３は、ＣＰＵ１１がアプリ１２ｂ等を実行するにあたり、各種データを一時的に記憶するためのテンポラリエリアを有する書換可能な揮発性のメモリである。ＲＡＭ１３のテンポラリエリアには、例えば、主機能を実行する場合に、入力装置から受け取ったデータ（すなわち、入力データ）や、当該入力データから生成された、出力装置に出力するデータ（すなわち、出力データ）が記憶される。
【００３３】
操作キー１５は、端末１０に指示などを入力するためのメカニカルキーであり、例えば、端末１０の筺体に設けられる。ＬＣＤ１６は、各種画面を表示する液晶表示装置である。タッチパネル１７は、ＬＣＤ１６に重ねて設けられ、指や棒などの指示体を接触または接近させることによって、端末１０に指示などを入力する。メモリカードＩ／Ｆ１８は、書換可能な不揮発性のメモリカードＭＣが装着されるインタフェースであり、メモリカードＭＣに対する、データやファイルの書き込み又は読み出しを制御する。音声入出力部１９は、マイクやスピーカなどで構成された音声入出力用デバイスである。電話網通信部２０は、携帯電話網（図示せず）を介した通話を行うための回路である。
【００３４】
無線通信部２１は、無線ＬＡＮによる無線通信を行うためのインタフェースである。本実施形態では、無線通信部２１が行う通信は、ＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した無線ＬＡＮによる無線通信である。本実施形態において、無線通信部２１は、中継装置であるアクセスポイント（ＡＰ）５０を介して、無線ＬＡＮネットワーク５００に接続される。これにより、端末１０は、ＡＰ５０を介して接続される無線ＬＡＮネットワーク５００上の、スキャナ６０などの各種デバイスと通信可能に接続できる。
【００３５】
また、ＡＰ５０は、ブロードバンドルーター機能を有し、インターネット８００に接続できる。よって、端末１０は、インターネット８００に接続された各種のサービス提供サーバ１００にアクセスし、アクセス先のサービス提供サーバが提供するサービスを利用できる。サービス提供サーバが提供するサービスとしては、Ｄｒｏｐｂｏｘ（登録商標）や、Ｅｖｅｒｎｏｔｅ（登録商標）などの各種サービスが例示される。例えば、図１に示すように、インターネット８００に、サービス提供サーバ１００として、サーバ１００ａ，１００ｂ，１００ｃが接続されている場合、端末１０は、各サーバ１００ａ〜１００ｃにアクセスし、各サーバ１００ａ〜１００ｃが提供するサービスＡ、サービスＢ、およびサービスＣを利用できる。
【００３６】
スキャナ６０およびプリンタ７０は、それぞれ、スキャン機能およびプリント機能を有する単機能装置である。本実施形態において、スキャン機能を単独で有するスキャナ６０は、入力装置としてのみ選択可能である。また、プリント機能を単独で有するプリンタ７０は、出力装置としてのみ選択可能である。
【００３７】
ＭＦＰ８０は、プリント機能、スキャン機能、ファクシミリ機能などの各種機能を有する多機能周辺装置である。本実施形態では、ＭＦＰ８０は、スキャン機能や、ファクシミリ機能のうちファクシミリ受信機能を利用する場合に、入力装置として選択可能である。また、ＭＦＰ８０は、プリント機能や、ファクシミリ機能のうちファクシミリ送信機能を利用する場合に、出力装置として選択可能である。つまり、多機能周辺装置であるＭＦＰ８０は、本実施形態のアプリ１２ｂにおいて、入力装置としても、出力装置としても選択可能である。
【００３８】
図１に示す例では、デバイスとして、モデル名がＳ−１１１であるスキャナ６０と、モデル名がＰ−２２２であるプリンタ７０と、モデル名がＭＦＣ−３３３であるＭＦＰ８０とが１台ずつ接続されている。本実施形態では、無線ＬＡＮネットワーク５００に接続される各デバイスは、デバイスのモデル名と、デバイスに割り当てられたＩＰアドレスとから、各々独立して特定される。
【００３９】
図２は、アプリ１２ｂに従って端末１０のＣＰＵ１１が実行するメイン処理を示すフローチャートである。本処理は、アプリ１２ｂの起動指示をＣＰＵ１１が受け付けた場合に開始される。ＣＰＵ１１は、まず、デバイス／サービス画面（図示せず）をＬＣＤ１６に表示する、より詳細には、フォアグラウンドに表示する（Ｓ２０１）。デバイス／サービス画面は、スキャナ６０などのデバイスや、サービス提供サーバ１００を、入力装置または出力装置の選択候補として登録するための画面である。デバイス／サービス画面がフォアグラウンドに表示されている場合、ユーザが実行を所望する主機能を選択するためのアクション画面（図示せず）がバックグラウンドに表示される。
【００４０】
なお、「フォアグラウンドに表示」とは、実際にＬＣＤ１６に描画される表示を示す。一方、「バックグラウンドに表示」とは、バックグラウンドでＬＣＤ１６に表示させるための表示処理を行っていることを示し、ＬＣＤ１６に描画されない表示を示す。ＬＣＤ１６に表示される、各画面に対応するタブの切り替えに応じて、デバイス／サービス画面およびアクション画面のうち、いずれ一方の画面がフォアグランドに表示され、他方の画面がバックグラウンドに表示される。
【００４１】
よって、デバイス／サービス画面がフォアグラウンドに表示されている状態で、ＣＰＵ１１が、タブを切り替える指示を受け付けた場合（Ｓ２０２：Ｙｅｓ）、ＣＰＵ１１は、アクション画面をフォアグラウンドに表示し、デバイス／サービス画面をバックグラウンドに表示する（Ｓ２０６）。さらに、アクション画面がフォアグラウンドに表示されている状態で、ＣＰＵ１１が、タブを切り替える指示を受け付けた場合（Ｓ２０９：Ｙｅｓ）、ＣＰＵ１１は、処理をＳ２０１に移行し、デバイス／サービス画面をフォアグラウンドに表示し、アクション画面をバックグラウンドに表示する（Ｓ２０１）。
【００４２】
デバイス／サービス画面には、デバイスを登録するためのデバイス登録ボタンと、サービスを登録するためのサービス登録ボタンとが表示される。よって、デバイス／サービス画面がフォアグラウンドに表示されている状態において、ＣＰＵ１１は、デバイス登録ボタンまたはサービス登録ボタンに対するタップ操作の受け付けを待機する（Ｓ２０２：Ｎｏ，Ｓ２０３：Ｎｏ）。
【００４３】
ＣＰＵ１１が、デバイス登録ボタンに対するタップ操作を受け付けた場合（Ｓ２０３：デバイス登録）、ＣＰＵ１１は、ＬＣＤ１６に表示する画面を、デバイス／サービス画面から、デバイスを登録するためのデバイス登録画面（図示せず）に切り替える（Ｓ２０４）。次に、ＣＰＵ１１は、デバイス登録画面に対するユーザ操作に基づき、デバイスの登録を行うデバイス登録処理を実行する（Ｓ２０５）。ＣＰＵ１１は、デバイス登録処理（Ｓ２０５）の実行後、処理をＳ２０１に移行し、ＬＣＤ１６に表示する画面を、デバイス登録画面から、デバイス／サービス画面に切り替える。
【００４４】
一方、ＣＰＵ１１が、サービス登録ボタンに対するタップ操作を受け付けた場合（Ｓ２０３：サービス登録）、ＣＰＵ１１は、ＬＣＤ１６に表示する画面を、デバイス／サービス画面から、サービスを登録するためのサービス登録画面（図示せず）に切り替える（Ｓ２０６）。次に、ＣＰＵ１１は、サービス登録画面に対するユーザ操作に基づき、サービス、より詳細には、サービス提供サーバ１００の登録を行うサービス登録処理を実行する（Ｓ２０７）。ＣＰＵ１１は、サービス登録処理（Ｓ２０７）の実行後、ＬＣＤ１６に表示する画面を、処理をＳ２０１に移行し、サービス登録画面から、デバイス／サービス画面に切り替える。
【００４５】
アクション画面には、ユーザが、１または複数の主機能を含むアクションを登録するためのボタン（以下、このボタンを「アクション登録ボタン」と称す）と、ユーザが登録した各アクションに対応するボタン（以下、このボタンを「アクション選択ボタン」と称す）とが表示される。よって、アクション画面がフォアグラウンドに表示されている状態において、ＣＰＵ１１は、アクション登録ボタンまたはアクション選択ボタンに対するタップ操作の受け付けを待機する（Ｓ２０９：Ｎｏ，Ｓ２１０：Ｎｏ）。
【００４６】
ＣＰＵ１１が、アクション登録ボタンに対するタップ操作を受け付けた場合（Ｓ２１０：アクション登録）、ＣＰＵ１１は、アクション名登録処理を実行する（Ｓ２１４）。具体的に、アクション名登録処理（Ｓ２１４）において、ＣＰＵ１１は、ＬＣＤ１６に表示する画面を、アクション画面から、アクション名登録画面（図示せず）に切り替え、当該アクション名登録画面に対するユーザ操作に基づき、新たに登録するアクションに付与する名称（以下、この名称を「アクション名」と称す）を登録する。
【００４７】
ＣＰＵ１１は、アクション名登録処理（Ｓ２１４）の実行後、ＬＣＤ１６に表示する画面を、アクション名登録画面から、入出力登録画面（図示せず）に切り替える（Ｓ２１５）。入出力登録画面は、登録された１のアクション名に対し、当該アクション名より特定されるアクションに対応づける１または複数の主機能を実現するための入力装置および出力装置を登録するための画面である。
【００４８】
次に、ＣＰＵ１１は、入出力登録画面に対するユーザ操作に基づき、入力装置または出力装置を登録する入出力登録処理を実行する（Ｓ２１６）。なお、入出力登録処理（Ｓ２１６）において、入力装置および出力装置は、デバイス登録処理（Ｓ２０５）またはサービス登録処理（Ｓ２０６）で登録されたデバイスまたはサービス提供サーバ１００の中から選択されたものが登録される。
【００４９】
本実施形態のアプリ１２ｂでは、１のアクション名により特定されるアクションに対し、１または複数の入力装置と、１または複数の出力装置とを登録できるよう構成される。つまり、１のアクションに対し、登録された入力装置の入力機能と出力装置の出力機能との１対１の組み合わせから構成される１の主機能を、登録された入力装置と出力装置との組み合わせの数だけ対応付けることができる。よって、１のアクション名を選択した場合に、当該１のアクション名により特定されるアクションに対し、複数の主機能が対応付けられている場合には、それら複数の主機能をそれぞれ実行させることができる。
【００５０】
ＣＰＵ１１は、入出力登録処理（Ｓ２１６）の実行後、ＬＣＤ１６に表示する画面を、入出力登録画面から、アクション実行画面２００（図５参照）に切り替える（Ｓ２１１）。アクション実行画面２００は、登録されたアクションのうち、１のアクションを実行させるための画面である。より詳細には、入出力登録処理（Ｓ２１６）の実行後にＬＣＤ１６に表示されたアクション実行画面２００は、入出力登録処理（Ｓ２１６）において登録されたアクションを実行させるための画面である。
【００５１】
一方、ＣＰＵ１１が、アクション画面内の、１のアクション選択ボタンに対するタップ操作を受け付けた場合（Ｓ２１０：アクション選択）、ＣＰＵ１１は、処理をＳ２１１に移行し、ＬＣＤ１６に表示する画面を、アクション画面から、アクション実行画面２００に切り替える。より詳細には、アクション選択ボタンの操作に基づきＬＣＤ１６に表示されたアクション実行画面２００は、操作されたアクション選択ボタンに対応するアクションを実行させるための画面である。
【００５２】
アクション実行画面２００には、実行対象のアクションにて、主機能を実現するために使用する入力装置または出力装置を追加登録するためのボタン（以下、このボタンを「入出力追加ボタン」と称す）が表示される。また、アクション実行画面２００には、アクションの開始を指示する実行ボタン２０７（図５参照）が表示される。
【００５３】
よって、アクション実行画面２００が表示されている状態において、ＣＰＵ１１は、入出力追加ボタンまたは実行ボタン２０７に対するタップ操作の受け付けを待機する（Ｓ２１２：Ｎｏ）。ＣＰＵ１１が、入出力追加ボタンに対するタップ操作を受け付けた場合（Ｓ２１２：入出力追加）、ＣＰＵ１１は、処理をＳ２１５に移行し、ＬＣＤ１６に表示する画面を、アクション実行画面２００から、入出力登録画面に切り替える。
【００５４】
一方、ＣＰＵ１１が、実行ボタン２０７に対するタップ操作を受け付けた場合（Ｓ２１２：実行）、ＣＰＵ１１は、表示中のアクション実行画面２００に対応するアクションを実行するアクション実行処理を実行し（Ｓ２１３）、本処理を終了する。
【００５５】
図３は、上述したアクション実行処理（Ｓ２１３）を示すフローチャートである。ＣＰＵ１１は、まず、アクション実行画面２００に表示される実行ボタン２０７に代えて、キャンセルボタン２０８（図５参照）を表示する（Ｓ３０１）。ＣＰＵ１１は、実行対象のアクションに登録されている入力装置が実行するジョブ、すなわち、入力機能を入力予定ジョブとして、各入力予定ジョブに対する入力予定フラグをオンに設定する（Ｓ３０２）。入力予定フラグは、入力予定ジョブが未実行であるか否かを示すフラグであり、ＲＡＭ１３内に設けられる。入力予定フラグは、オンに設定されている場合に、入力予定ジョブが未実行であることを示す。入力予定フラグは、図２のメイン処理の開始に伴いオフに設定される。
【００５６】
ＣＰＵ１１は、実行対象のアクションに登録されている出力装置が実行するジョブ、すなわち、出力機能を出力予定ジョブとして、各出力予定ジョブに対する出力予定フラグをオンに設定する（Ｓ３０３）。出力予定フラグは、出力予定ジョブが未実行であるか否かを示すフラグであり、ＲＡＭ１３内に設けられる。出力予定フラグは、オンに設定されている場合に、出力予定ジョブが未実行であることを示す。出力予定フラグは、図２のメイン処理の開始に伴いオフに設定される。
【００５７】
ＣＰＵ１１は、アクション実行画面２００に表示される、実行対象のアクションに登録されている入力装置のうち、ジョブを実行する１の入力装置（以下「ジョブ対象の入力装置」と称す）を、それ以外の入力装置または出力装置とは異なる態様で表示する（Ｓ３０４）。次に、ＣＰＵ１１は、ジョブ対象の入力装置に対応する入力予定フラグをオフに設定する（Ｓ３０５）。
【００５８】
ＣＰＵ１１は、ジョブ対象の入力装置について、ジョブの実行中、すなわち、入力機能の実行中であることを示すステータス２０９（図５参照；以下「入力中ステータス」と称す）を表示する（Ｓ３０６）。例えば、ジョブ対象の入力装置がスキャナ６０である場合に、入力中ステータス２０９として、スキャン中であることを示す「Ｓｃａｎｎｉｎｇ」を表示する。
【００５９】
ＣＰＵ１１は、ジョブ対象の入力装置へジョブの実行指示を送信する（Ｓ３０７）。その後、ＣＰＵ１１は、ジョブ対象の入力装置から、入力データ、すなわち、当該入力装置が入力機能の実行により取得したデータを受信し、受信した入力データの保存が完了するのを待機する（Ｓ３０８：Ｎｏ）。入力データの受信および保存が完了した場合（Ｓ３０８：Ｙｅｓ）、ＣＰＵ１１は、アクション実行画面２００において表示されていた入力中ステータス２０９に代えて、入力完了を示すステータス２１０（図５参照；以下「入力完了ステータス」と称す）を表示する（Ｓ３０９）。
【００６０】
次に、ＣＰＵ１１は、次の入力予定ジョブがあるかを判断する（Ｓ３１０）。具体的に、オンに設定されている入力予定フラグがある場合、ＣＰＵ１１は、Ｓ３１０において次の入力予定ジョブがあると判断する。次の入力予定ジョブがあると、ＣＰＵ１１が判断した場合（Ｓ３１０：Ｙｅｓ）、ＣＰＵ１１は、入力装置の表示を、ジョブの実行が完了した入力装置に代えて、次にジョブ対象となる入力装置に切り替える（Ｓ３２３）。これにより、次のジョブ対象の入力装置が、それ以外の入力装置または出力装置とは異なる態様で表示される。ＣＰＵ１１は、Ｓ３２３の処理後、処理をＳ３０５に移行し、次のジョブ対象の入力装置について、Ｓ３０５〜Ｓ３０９の処理を実行する。
【００６１】
一方、次の入力予定ジョブがないと、ＣＰＵ１１が判断した場合（Ｓ３１０：Ｎｏ）、ＣＰＵ１１は、出力予定ジョブがあるかを判断する（Ｓ３１１）。具体的に、オンに設定されている出力予定フラグがある場合、ＣＰＵ１１は、Ｓ３１１において出力予定ジョブがあると判断する。出力予定ジョブがないとＣＰＵ１１が判断した場合（Ｓ３１１：Ｎｏ）、ＣＰＵ１１は、本処理を終了する。
【００６２】
Ｓ３１１において、出力予定ジョブがあるとＣＰＵ１１が判断した場合（Ｓ３１１：Ｙｅｓ）、ＣＰＵ１１は、アクション実行画面２００に表示される、実行対象のアクションに登録されている出力装置のうち、ジョブを実行する１の出力装置（以下「ジョブ対象の出力装置」と称す）を、それ以外の出力装置または入力装置とは異なる態様で表示する（Ｓ３１２）。次に、ＣＰＵ１１は、ジョブ対象の出力装置に対応する出力予定フラグをオフに設定する（Ｓ３１３）。
【００６３】
ＣＰＵ１１は、ジョブ対象の出力装置について、ジョブの実行中、すなわち、出力機能の実行中であることを示すステータス（以下「出力中ステータス」と称す）を表示する（Ｓ３１６）。例えば、ジョブ対象の出力装置がプリンタ７０である場合に、出力中ステータスとして、プリント中であることを示す「Ｐｒｉｎｔｉｎｇ」を表示する。
【００６４】
ＣＰＵ１１は、ジョブ対象の出力装置へ出力データを送信する（Ｓ３１７）、その後、ＣＰＵ１１は、出力データの出力が完了するのを待機する（Ｓ３１８：Ｎｏ）。出力データの出力が完了した場合（Ｓ３１８：Ｙｅｓ）、ＣＰＵ１１は、アクション実行画面２００に表示されていた出力中ステータスに代えて、出力完了を示すステータス（以下「出力完了ステータス」と称す）を表示する（Ｓ３１９）。
【００６５】
次に、ＣＰＵ１１は、出力予定フラグの状態に基づいて、次の出力予定ジョブがあるかを判断する（Ｓ３２０）。次の出力予定ジョブがあると、ＣＰＵ１１が判断した場合（Ｓ３２０：Ｙｅｓ）、ＣＰＵ１１は、出力装置の表示を、ジョブの実行が完了した出力装置に代えて、次にジョブ対象となる出力装置に切り替える（Ｓ３２４）。これにより、次のジョブ対象の出力装置が、それ以外の出力装置または入力装置とは異なる態様で表示される。ＣＰＵ１１は、Ｓ３２４の処理後、処理をＳ３１３に移行し、次のジョブ対象の出力装置について、Ｓ３１３〜Ｓ３１９の処理を実行する。
【００６６】
一方、次の出力予定ジョブがないと、ＣＰＵ１１が判断した場合（Ｓ３２０：Ｎｏ）、ＣＰＵ１１は、アクション実行画面２００に表示されるキャンセルボタン２０８に代えて、実行ボタン２０７を表示する（Ｓ３２１）。次に、ＣＰＵ１１は、アクション実行画面２００に、実行対象のアクション、より詳細には、実行対象のアクションに含まれる全ての主機能の実行が完了したことを示すステータス２１１（図５参照；以下「アクション完了ステータス」）を表示し（Ｓ３２２）、本処理を終了する。
【００６７】
図４は、ジョブキャンセル処理を示すフローチャートである。本処理は、上述したメイン処理（図２）と並行して実行される別スレッドの処理である。本処理は、上述したメイン処理と同様、アプリ１２ｂの起動指示をＣＰＵ１１が受け付けた場合に開始される。ＣＰＵ１１は、アクション実行画面２００に表示されるキャンセルボタン２０８に対する操作がされるのを待機する（Ｓ４０１：Ｎｏ）。
【００６８】
キャンセルボタン２０８に対する操作をＣＰＵ１１が受け付けた場合（Ｓ４０１：Ｙｅｓ）、実行中のアクションのフェーズが入力中であれば（Ｓ４０２：入力中）、ＣＰＵ１１は、Ｓ４０３〜Ｓ４１４の処理を実行する。具体的に、ＣＰＵ１１は、入力予定フラグの状態に基づいて、未実行入力、すなわち、入力予定ジョブがあるかを判断する（Ｓ４０３）。未実行入力があるとＣＰＵ１１が判断した場合（Ｓ４０３：Ｙｅｓ）、ＣＰＵ１１は、未実行入力をキャンセル候補に設定し（Ｓ４０４）、処理をＳ４０５に移行する。一方、未実行入力がないとＣＰＵ１１が判断した場合（Ｓ４０３：Ｎｏ）、ＣＰＵ１１は、Ｓ４０４の処理をスキップして、処理をＳ４０５に移行する。
【００６９】
Ｓ４０５において、ＣＰＵ１１は、完了済み入力、すなわち、既に入力データの保存まで完了しているジョブがあるかを判断する。完了済み入力があるとＣＰＵ１１が判断した場合（Ｓ４０５：Ｙｅｓ）、ＣＰＵ１１は、完了済み入力をキャンセル候補に設定し（Ｓ４０６）、処理をＳ４０７に移行する。一方、完了済み入力がないとＣＰＵ１１が判断した場合（Ｓ４０５：Ｎｏ）、ＣＰＵ１１は、Ｓ４０６の処理をスキップして、処理をＳ４０７に移行する。
【００７０】
Ｓ４０７において、ＣＰＵ１１は、Ｓ４０４，Ｓ４０６でキャンセル候補にされた各入力（未実行入力、完了済み入力）と、実行中入力とを、それぞれ選択可能な態様でＬＣＤ１６に表示する。実行中入力は、実行対象のアクションに登録されている入力装置が実行するジョブのうち、未実行入力でも完了済み入力でもない、実行中のジョブである。ＣＰＵ１１は、Ｓ４０７の処理により表示された、キャンセル候補および実行中入力の中から、キャンセル対象がユーザにより選択されるまで待機する（Ｓ４０８：Ｎｏ）。
【００７１】
実行中入力がキャンセル対象として選択された場合（Ｓ４０８：Ｙｅｓ，Ｓ４０９：Ｙｅｓ）、ＣＰＵ１１は、キャンセル対象として選択された実行中入力に対応する入力装置に対し、キャンセル指示を出力し（Ｓ４１０）、処理をＳ４１１に移行する。Ｓ４１０の処理の結果、対象となる入力装置にて実行中のジョブ、すなわち、実行中の入力機能がキャンセルされる。一方、実行中入力がキャンセル対象として選択されていない場合（Ｓ４０９：Ｎｏ）、ＣＰＵ１１は、Ｓ４１０の処理をスキップして、処理をＳ４１１に移行する。
【００７２】
完了済み入力がキャンセル対象として選択された場合（Ｓ４１１：Ｙｅｓ）、ＣＰＵ１１は、ＲＡＭ１３に記憶された入力データのうち、キャンセル対象として選択された完了済み入力に対応する入力データを削除し（Ｓ４１２）、処理をＳ４１３に移行する。一方、完了済み入力がキャンセル対象として選択されていない場合（Ｓ４１１：Ｎｏ）、ＣＰＵ１１は、Ｓ４１２の処理をスキップして、処理をＳ４１３に移行する。
【００７３】
未実行入力がキャンセル対象として選択された場合（Ｓ４１３：Ｙｅｓ）、ＣＰＵ１１は、キャンセル対象として選択された未実行入力に対応する入力予定フラグをオフに設定し（Ｓ４１４）、本処理を終了する。Ｓ４１４の処理の結果、未実行入力、すなわち、入力予定ジョブの実行がキャンセルされる。一方、未実行入力がキャンセル対象として選択されていない場合（Ｓ４１３：Ｎｏ）、ＣＰＵ１１は、Ｓ４１４の処理をスキップして、本処理を終了する。
【００７４】
一方、Ｓ４０２において、実行中のアクションのフェーズが出力中である場合には（Ｓ４０２：出力中）、ＣＰＵ１１は、Ｓ４１５〜Ｓ４２５の処理を実行する。具体的に、ＣＰＵ１１は、ＲＡＭ１３に記憶されている、各ジョブより得られた入力データを、キャンセル候補に設定する（Ｓ４１５）。
【００７５】
次に、ＣＰＵ１１は、出力予定フラグの状態に基づいて、未実行出力、すなわち、出力予定ジョブがあるかを判断する（Ｓ４１６）。未実行出力があるとＣＰＵ１１が判断した場合（Ｓ４１６：Ｙｅｓ）、ＣＰＵ１１は、未実行出力をキャンセル候補に設定し（Ｓ４１７）、処理をＳ４１８に移行する。一方、未実行出力がないとＣＰＵ１１が判断した場合（Ｓ４１６：Ｎｏ）、ＣＰＵ１１は、Ｓ４１７の処理をスキップして、処理をＳ４１８に移行する。
【００７６】
Ｓ４１８において、ＣＰＵ１１は、Ｓ４１５でキャンセル候補にされた入力データと、Ｓ４１７でキャンセル候補にされた未実行出力と、実行中出力とを、それぞれ選択可能な態様でＬＣＤ１６に表示する（Ｓ４１８）。実行中出力は、実行対象のアクションに登録されている出力装置が実行するジョブのうち、未実行出力でも、出力データの出力が既に完了したジョブでもない、実行中のジョブである。ＣＰＵ１１は、Ｓ４１８の処理により表示された、キャンセル候補および実行中入力の中から、キャンセル対象がユーザにより選択されるまで待機する（Ｓ４１９：Ｎｏ）。
【００７７】
実行中出力がキャンセル対象として選択された場合（Ｓ４１９：Ｙｅｓ，Ｓ４２０：Ｙｅｓ）、ＣＰＵ１１は、キャンセル対象として選択された実行中出力に対応する出力装置に対し、キャンセル指示を出力し（Ｓ４２１）、処理をＳ４２２に移行する。Ｓ４２１の処理の結果、対象となる出力装置にて実行中のジョブ、すなわち、実行中の出力機能がキャンセルされる。一方、実行中出力がキャンセル対象として選択されていない場合（Ｓ４２０：Ｎｏ）、ＣＰＵ１１は、Ｓ４２１の処理をスキップして、処理をＳ４２２に移行する。
【００７８】
未実行出力がキャンセル対象として選択された場合（Ｓ４２２：Ｙｅｓ）、ＣＰＵ１１は、キャンセル対象として選択された未実行出力に対応する出力予定フラグをオフに設定し（Ｓ４２３）、処理をＳ４２４に移行する。Ｓ４２３の処理の結果、未実行出力、すなわち、出力予定ジョブの実行がキャンセルされる。一方、未実行出力がキャンセル対象として選択されていない場合（Ｓ４２２：Ｎｏ）、ＣＰＵ１１は、Ｓ４２３の処理をスキップして、処理をＳ４２４に移行する。
【００７９】
入力データがキャンセル対象として選択された場合（Ｓ４２４：Ｙｅｓ）、ＣＰＵ１１は、ＲＡＭ１３に記憶されている入力データを削除し（Ｓ４２５）、本処理を終了する。なお、キャンセル対象とする入力データは、ジョブ毎に選択できる構成としてもよい。かかる場合、Ｓ４２５において、ＣＰＵ１１は、キャンセル対象として選択されたジョブの入力データを削除すればよい。一方、入力データがキャンセル対象として選択されていない場合（Ｓ４２４：Ｎｏ）、ＣＰＵ１１は、Ｓ４２５の処理をスキップして、本処理を終了する。
【００８０】
図５は、ＬＣＤ１６に表示されるアクション実行画面２００の一例を示す模式図である。図５（ａ）〜（ｅ）に示す各アクション実行画面２００ａ〜２００ｅは、アクション実行画面２００の表示中における各時期の画面である。まず、図５（ａ）に示すアクション実行画面２００ａは、アクション実行処理（図２のＳ２１３）が開始される前の画面の一例である。アクション画面２００ａは、メイン処理（図２）において、Ｓ２１１の処理によって表示される画面である。
【００８１】
図５（ａ）に示すように、アクション画面２００ａを含むアクション画面２００には、当該アクション画面２００に対応する実行対象のアクションに対して登録されている入力装置を個々に表示する領域２０１と、出力装置を個々に表示する領域２０２とが設けられる。領域２０１には、入力装置毎に、その入力装置を特定する情報２０３と、その入力装置が実行する入力機能を特定する情報２０４とが表示される。図５（ａ）に示す例では、１の入力装置が領域２０１に表示される。当該１の入力装置に対する情報２０３として、入力装置としてのスキャナ６０のモデル名「Ｓ−１１１」が表示され、情報２０４として、スキャン機能を示す「Ｓｃａｎ」が表示される。
【００８２】
一方、領域２０２には、出力装置毎に、その出力装置を特定する情報２０５と、その出力装置が実行する出力機能を特定する情報２０６とが表示される。図５（ａ）に示す例では、２の出力装置が領域２０２に表示される。そして、当該２の出力装置のうち、一方の出力装置に対する情報２０５として、出力装置としてのＭＦＰ８０のモデル名「ＭＦＣ−３３３」が表示され、情報２０６として、プリント機能を示す「Ｐｒｉｎｔ」が表示される。他方の出力装置に対する情報２０５として、出力装置としてのサービス提供サーバ１００ｃが提供するサービス「サービスＣ」が表示され、情報２０６として、アップロード機能を示す「Ｕｐｌｏａｄ」が表示される。
【００８３】
Ｓ２１１の処理によって表示されるアクション画面２００ａには、実行対象のアクションの開始を指示する実行ボタン２０７が表示される。ユーザが実行ボタン２０７に対するタップ操作を行った場合、アクション実行処理（図２のＳ２１３）が開始される。その結果、情報２０３により特定される入力装置にて、情報２０４により特定されるジョブ（すなわち、入力機能）が実行されるともに、情報２０５により特定される出力装置にて、情報２０６により特定されるジョブ（すなわち、出力機能）が実行される。よって、ユーザは、実行ボタン２０７に対する操作を行った場合に実行されるアクションにおいて、どのようなジョブを行うものであったかを、アクション画面２００ａに表示された情報２０３〜２０６から把握できる。つまり、アクション画面２００ａの表示内容に基づき、実行対象のアクションにて実現される１または複数主機能を構成する、入力および出力の各ジョブを把握できる。
【００８４】
Ｓ２１１の処理によって表示されるアクション画面２００ａには、少なくとも一対の入力装置および出力装置が登録されていることを条件として、実行対象のアクションの開始を指示する実行ボタン２０７が表示される。つまり、実行ボタン２０７は、少なくとも１の主機能が実行可能な状態であることを条件として、アクション画面２００に表示される。よって、入力装置または出力装置のいずれか一方が登録されていない状態において、実行ボタンは表示されないので、主機能を実行できないにもかかわらず、ユーザが主機能を実行させようとして実行ボタンを操作することを防止できる。
【００８５】
ユーザが実行ボタン２０７に対するタップ操作を行ったことに基づき、アクション実行処理が開始され、Ｓ３０１の処理が実行されると、実行ボタン２０７に代えて、キャンセルボタン２０８が、アクション画面２００に表示される。ユーザは、キャンセルボタン２０８に対するタップ操作を行うことによって、実行ボタン２０７に対するタップ操作に伴って開始されたアクションをキャンセルできる。
【００８６】
アクションが開始されると、図５（ｂ）〜（ｄ）に示すように、領域２０１に表示される各入力装置、および、領域２０２に表示される各出力装置のうち、ジョブ対象の入力装置または出力装置が、それ以外の入力装置または出力装置とは異なる態様で表示される。図５（ｂ）〜（ｄ）に示す例では、ジョブ対象の入力装置Ｑ１は通常に表示され、それ以外の出力装置Ｑ２，Ｑ３はグレーアウト表示される。なお、図５（ｂ）〜（ｄ）では、グレーアウト部分を網かけによって表している。よって、ユーザは、かかる表示態様に違いによって、ジョブ対象の入力装置または出力装置を把握できる。
【００８７】
図５（ｂ）に示すアクション画面２００ｂは、ジョブ対象の入力装置Ｑ１において、未だジョブが開始されていないときの画面の一例である。アクション画面２００ｂは、アクション実行処理（図３）におけるＳ３０４の処理によって表示される画面である。アクション画面２００ｂでは、ジョブ対象の入力装置Ｑ１について、情報２０４、すなわち、入力装置Ｑ１が実行する入力機能を特定する情報が表示される。なお、ジョブ対象が出力装置Ｑ２または出力装置Ｑ３のいずれかである場合に、未だジョブが開始されていないときに表示されるアクション画面２００ｂ相当のアクション画面２００においても、ジョブ対象の出力装置Ｑ２または出力装置Ｑ３が実行する出力機能を特定する情報が表示される。
【００８８】
図５（ｃ）に示すアクション画面２００ｃは、ジョブ対象の入力装置Ｑ１において、ジョブの実行中であるときの画面の一例である。アクション画面２００ｃは、アクション実行処理（図３）におけるＳ３０６の処理によって表示される画面である。アクション画面２００ｃでは、ジョブ対象の入力装置Ｑ１について、入力中ステータス２０９が表示される。なお、ジョブ対象が出力装置Ｑ２または出力装置Ｑ３のいずれかである場合に、ジョブの実行中に示されるアクション画面２００ｃ相当のアクション画面２００においても、ジョブ対象の出力装置Ｑ２または出力装置Ｑ３が、ジョブ、すなわち、出力機能の実行中であることを示す出力中ステータスが表示される。
【００８９】
図５（ｄ）に示すアクション画面２００ｄは、ジョブ対象の入力装置Ｑ１において、ジョブの実行が完了したときの画面の一例である。アクション画面２００ｄは、アクション実行処理（図３）におけるＳ３０９の処理によって表示される画面である。アクション画面２００ｄでは、ジョブ対象の入力装置Ｑ１について、入力完了ステータス２１０が表示される。ジョブ対象が出力装置Ｑ２または出力装置Ｑ３のいずれかである場合に、ジョブの実行が完了したときに示されるアクション画面２００ｄ相当のアクション画面２００においても、ジョブ対象の出力装置Ｑ２または出力装置Ｑ３が、ジョブ、すなわち、出力機能の実行が完了したことを示す出力完了ステータスが表示される。
【００９０】
アクション画面２００ｂ，２００ｃ，２００ｄによれば、情報２０４、入力中ステータス２０９（または、出力中ステータス）、および、入力完了ステータス２１０（または、出力完了ステータス）が表示されるので、ユーザは、実行対象のアクションにおいて、当該アクションに対し登録された入力装置または出力装置における状況を把握できる。よって、例えば、アクション画面２００ｂ〜２００ｄの各表示内容に基づき、アクション、より詳細には、実行対象のアクションに含まれる主機能の実行状況を把握できるので、アクションまたは主機能をキャンセルするタイミングを計り易い。
【００９１】
図５（ｅ）に示すアクション実行画面２００ｅは、実行対象のアクションの実行が完了した場合の画面の一例である。アクション実行画面２００ｅは、アクション実行処理（図３）におけるＳ３２２の処理によって表示される画面である。アクション画面２００ｅには、アクション完了ステータス２１１が表示される。よって、ユーザは、実行対象のアクション、より詳細には、実行対象のアクションに含まれる全ての主機能の実行が完了したことを把握できる。その結果、ユーザは、アクション実行画面２００ｅが表示されたタイミングでは、既に、アクションのキャンセルをする必要がない状況になっていることを把握できる。
【００９２】
アクション実行画面２００ｅでは、キャンセルボタン２０８に代えて、実行ボタン２０７が再び表示される。アクション実行画面２００ｅの領域２０１および領域２０２には、アクションを開始する前のアクション実行画面２００ａと同様、情報２０３〜２０６が表示される。なお、キャンセルボタン２０８に対するタップ操作が行われた場合も、最終的には、アクション実行画面２００ｅが表示される。よって、ユーザは、キャンセルボタン２０８に対する操作に基づきキャンセルされたアクションが、そもそもどのようなジョブを行うものであったかを、アクション実行画面２００ｅに表示された情報２０３〜２０６から把握できる。
【００９３】
また、アクション実行画面２００ｅには、実行ボタン２０７が表示されているので、ユーザは、アクション実行画面２００ｅに表示される情報２０３〜２０６を参照して、各ジョブ、または、ジョブに組み合わせから構成される主機能を確認した上で、必要があれば、再度実行ボタン２０７を操作することによって、キャンセルしたアクションのジョブを再度実行させることができる。
【００９４】
上述した通り、本実施形態によれば、アクションの実行開始後、ユーザが、キャンセルボタン２０８に対する操作を行った場合には、実行対象のアクションにて実行される入力ジョブ（すなわち、入力機能）または出力ジョブ（すなわち、出力機能）のうち、実行が完了していないジョブに対するキャンセル処理が行われる。
【００９５】
具体的に、実行中のジョブがある場合には、当該ジョブを実行している入力装置または出力装置に対し、キャンセル指示を出力し、各装置にて、実行中のジョブをキャンセルさせる。また、未実行のジョブがある場合には、入力予定フラグまたは出力予定フラグをオフに設定し、未実行のジョブをキャンセルする。よって、複数の装置にてそれぞれ実行されるジョブを、キャンセルボタン２０８に対する１回の操作で、各ジョブの状態（ステータス）に応じて適切にキャンセルできる。つまり、アクションに含まれる１または複数の主機能を適切かつ容易にキャンセルできる。
【００９６】
また、入力装置で実行されるジョブが完了し、当該入力装置から受信した入力データがＲＡＭ１３に記憶されている場合、当該入力データが削除される。よって、アクションがキャンセルされたことに伴って、不要となるデータが無駄にＲＡＭ１３に記憶されたままとなり、ＲＡＭ１３の記憶容量が無駄に消費されることを防止できる。これにより、ＲＡＭ１３の記憶容量を有効に活用できる。
【００９７】
また、キャンセルボタン２０８を操作した場合、Ｓ４０７またはＳ４１８の処理により、キャンセル可能なジョブが選択可能に表示されるので、ユーザは、キャンセル対象とするジョブを、所望に応じて適宜選択できる。キャンセル対象として選択されなかったジョブは、ジョブがキャンセルされることなく実行されるので、キャンセル対象として選択されなかったジョブから構成される主機能の実行は完遂される。よって、実行対象のアクションが複数の主機能を実行するものである場合に、一部の主機能のみを選択的にキャンセルできるので、所望の主機能のみ実行させることができる。
【００９８】
上記実施形態において、アプリ１２ｂが、情報処理プログラムの一例である。端末１０が、端末装置の一例である。スキャナ６０、プリンタ７０、ＭＦＰ８０、サービス提供サーバ１００が、外部装置の一例である。スキャナ６０、ＭＦＰ８０、サービス提供サーバ１００が、入力装置の一例である。プリンタ７０、ＭＦＰ８０、サービス提供サーバ１００が、出力装置の一例である。ＣＰＵ１１が、制御部の一例である。ＬＣＤ１６が、表示部の一例である。フラッシュメモリ１２が、記憶部の一例である。無線ＬＡＮネットワーク５００、インターネット８００が、ネットワークの一例である。アクション実行画面２００が、第１画面の一例である。情報２０４が、入力機能を特定する情報の一例である。情報２０６が、出力機能を特定する情報の一例である。入力中ステータス２０９、出力中ステータスが、副機能の実行中であることを示す情報の一例である。入力完了ステータス２１０、出力完了ステータスが、副機能の実行が完了したことを示す情報の一例である。アクション完了ステータス２１１が、主機能の実行が完了したことを示す情報の一例である。
【００９９】
Ｓ２１６の処理を実行するＣＰＵ１１が、装置設定手段の一例である。Ｓ２１３の処理を実行するＣＰＵ１１が、主機能実行手段の一例である。Ｓ４０１の処理を実行するＣＰＵ１１が、指示受付手段の一例である。Ｓ４１０，Ｓ４１４，Ｓ４２１，Ｓ４２３の処理を実行するＣＰＵ１１が、キャンセル実行手段の一例である。Ｓ４０７、Ｓ４１８の処理を実行するＣＰＵ１１が、第１表示制御手段の一例である。Ｓ３０８の処理を実行するＣＰＵ１１が、受信手段の一例である。Ｓ４１２，Ｓ４２５の処理を実行するＣＰＵ１１が、削除手段の一例である。Ｓ２１１の処理を実行するＣＰＵ１１が、第２表示制御手段の一例である。Ｓ３２１の処理を実行するＣＰＵ１１が、第３表示制御手段の一例である。Ｓ３０６，Ｓ３１６の処理を実行するＣＰＵ１１が、第４表示制御手段の一例である。Ｓ３０９，Ｓ３１９の処理を実行するＣＰＵ１１が、第５表示制御手段の一例である。Ｓ３２２の処理を実行するＣＰＵ１１が、第６表示制御手段の一例である。
【０１００】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。例えば、上記実施形態では、アプリ１２ｂを端末１０に搭載する構成としたが、当該アプリ１２ｂを搭載させる端末としては、上記例示した端末１０に限定されず、タブレット端末や、デジタルカメラや、パーソナルコンピュータなどを採用することも可能である。
【０１０１】
また、サーバにアプリ１２ｂを搭載し、上記実施形態の端末１０と同等に機能させる構成としてもよい。かかる場合、サーバを介して、スマートフォンなどの端末から、実行が完了していない主機能をキャンセルすることができる。例えば、サーバが、スマートフォンから出力されたキャンセル指示を受信した場合に、サーバが、ジョブを実行中の入力装置および出力装置へキャンセル指示を出力することによって、実行中のジョブ、すなわち、入力機能または出力機能をキャンセルできる。
【０１０２】
また、サーバにアプリ１２ｂを搭載し、上記実施形態の端末１０と同等に機能させる場合、Ｓ４０７やＳ４１８において表示させた内容、すなわち、ユーザにキャンセル対象を選択させるための表示を、サーバが、スマートフォンなどの端末の表示部に表示させる構成としてもよい。同様に、入力中ステータス２０９、出力中ステータス、入力完了ステータス２１０、出力完了ステータス、アクション完了ステータス２１１など、各ジョブまたはアクションの状態（ステータス）を示す情報を、サーバが、スマートフォンなどの端末の表示部に表示させる構成としてもよい。
【０１０３】
上記実施形態では、端末１０に搭載されるＯＳ１２ａとして、アンドロイド（登録商標）を例示したが、他のＯＳも利用できる。
【０１０４】
上記実施形態では、入力装置の候補となるデバイスとして、スキャナ６０と、ＭＦＰ８０とを例示したが、入力機能、すなわち、アプリ１２ｂを搭載する端末が入力データとして受け取るデータを取り込む機能、または、当該データが記憶される記憶部から読み出す機能を実行可能なデバイスであれば利用可能である。例えば、入力データとしてのファクシミリデータを受信するファクシミリや、入力データとしての読み出し対象となるデータを記憶するデータベースサーバなどを、入力装置として利用できる。同様に、出力機能を実行可能なデバイスであれば、出力装置の候補となるデバイスとして利用可能である。例えば、出力データとしての３次元印刷用の印刷データに基づく３次元印刷を行う３Ｄプリンタや、出力データとしての刺繍データに基づいて刺繍を行うミシンや、出力データとしての投影データに基づく画像投影を行う投影装置などを、出力装置として利用できる。
【０１０５】
上記実施形態では、アクション実行処理において、入力装置のジョブを１つずつ行う構成としたが、複数の入力装置が実行する各ジョブが、並行して実行される構成としてもよい。同様に、複数の出力装置が実行する各ジョブが、並行して実行される構成としてもよい。また、上記実施形態では、アクション実行処理において、全ての入力装置がジョブを完了した後、
出力装置のジョブを実行する構成としたが、入力装置が実行するジョブと、出力装置が実行するジョブとが、並行して実行される構成としてもよい。例えば、複数の入力装置が登録されている場合に、１の入力装置のジョブが完了する毎に、他の入力装置が実行するジョブが完了するのを待つことなく、当該１の入力装置が実行したジョブによって得られた入力データを用いて、出力装置がジョブを実行する構成としてもよい。
【０１０６】
上記のように、複数のジョブが並行して実行される場合、キャンセル対象となり得る、実行中のジョブが複数存在する場合がある。よって、キャンセルボタン２０８に対する操作があった場合に、ＣＰＵ１１は、ジョブキャンセル処理のＳ４０８またはＳ４１９の処理として、実行中のジョブが複数あるかの判断を行い、当該判断が肯定された場合に、複数の実行中のジョブのうち、いずれのジョブをキャンセル対象として設定する処理を行うようにしてもよい。かかる変形例によれば、複数の実行中のジョブのうち、一部の機能、例えば、ユーザにより選択されたジョブのみをキャンセルできる。
【０１０７】
上記実施形態では、キャンセル対象とするジョブをユーザが選択できる構成としたが、ユーザにキャンセル対象を選択させることなく、ジョブを実行中の入力装置または出力装置と、ジョブが未実行の入力装置または出力装置とに対してキャンセル指示を出力する構成としてもよい。または、ジョブを実行中の入力装置または出力装置、あるいは、ジョブが未実行の入力装置または出力装置のいずれかに対して、キャンセル指示を出力する構成としてもよい。
【０１０８】
上記実施形態では、１のアクションの実行が完了した場合に、図３のＳ３２１が実行されたことによって、アクション実行画面２００には、実行ボタン２０７を表示させない構成としてもよい。また、上記実施形態では、実行ボタン２０７とキャンセルボタン２０８が、それぞれ、アクション実行画面２００に排他的に表示される構成としたが、アクション実行画面２００に、実行ボタン２０７とキャンセルボタン２０８とを表示させるが、一方のボタンを操作可能な態様で表示し、他方をグレーアウトなどの操作不可能な態様で表示させる構成としてもよい。
【０１０９】
上記実施形態では、実行対象のアクションの実行が完了したこと、すなわち、当該アクションに含まれる全ての主機能の実行が完了したことを条件として、アクション完了ステータス２１１を、アクション実行画面２００（２００ｅ）に表示する構成とした。これに代えて、出力装置での出力ジョブの実行が完了する毎に、当該出力ジョブを利用した主機能が完了したことを示す情報を、アクション実行画面２００に表示する構成としてもよい。
【０１１０】
上記実施形態では、ＣＰＵ１１が、図２〜図４に記載される各処理を実行する構成として説明したが、これら各図に記載される各処理を、複数のＣＰＵが協同的に実行する構成としてもよい。また、ＡＳＩＣなどのＩＣが、単独で、または、複数によって協働的に、上記各図に記載される各処理を実行する構成してもよい。また、ＣＰＵ１１とＡＳＩＣなどのＩＣとが協同して、上記各図に記載される各処理を実行する構成してもよい。
【符号の説明】
【０１１１】
１０：端末，１１：ＣＰＵ，１２ｂ：アプリ
【図１】
2015060393.tif 000003
【図２】
2015060393.tif 000004
【図３】
2015060393.tif 000005
【図４】
2015060393.tif 000006
【図５】
2015060393.tif 000007