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