以下に添付図面を参照して、情報処理装置、情報処理方法、情報処理プログラム、情報処理システム、および画像形成システムの実施の形態を詳細に説明する。
(第1の実施形態)
図1は、第1の実施形態にかかる情報処理システム100aの全体構成の一例を示す図である。図1に示すように、情報処理システム100aは、情報処理装置20aと、画像形成装置30とを備える。
画像形成装置30は、例えば、MFP(Multifunction Peripheral、複合機)であり、コピー、スキャナ、ファックス、またはプリント(印刷)等の機能を有する。なお、コピー、スキャナ、ファックス、プリントなどの各処理を実行する手段として、ソフトウェア及びプロッタやスキャナなどのハードウェアをまとめて実行部と表現する。画像形成装置30は情報処理装置20aと無線ネットワーク300を介して実行する処理に関する実行指示を取得し、実行部は取得した実行指示に基づいて処理を実行する。また、本実施形態の画像形成装置30は、固定操作部を有するものとする。画像形成装置30および固定操作部についての詳細は、図2で説明する。
情報処理装置20aは、例えば、タブレット端末やスマートフォン等の情報処理端末(スマート端末、スマートデバイス)等である。図1に示すように、情報処理装置20aは、OS25aと、第1接続アプリ23aと、機能提供アプリ22と、汎用アプリ121と、ホームアプリ21aとを備えている。
OS25aは、各種のソフトウェアに対してハードウェアの機能のインターフェースを提供するオペレーティングシステムであって例えばAndroid(登録商標)等である。また、OS25aは一機能としてWebAPI接続クラス251を備える。WebAPI接続クラス251は、OS25aとは異なるソフトウェアによって実現されても良い。なお、OS25aは、情報処理装置20aのシステムの動作に必要な各種のアプリケーションを含んでいても良い。
汎用アプリ121は、情報処理装置20aで利用可能な汎用的なアプリケーションである。汎用アプリ121としては、例えば、画像加工アプリ、メールアプリ等が挙げられる。なお、情報処理装置20aは、複数の汎用アプリ121をインストール可能である。複数の汎用アプリ121は、それぞれ異なる機能を有していても良い。
また、ホームアプリ21aは、汎用アプリ121の一つとしても良い。ホームアプリ21aは、情報処理装置20aの表示装置上にメイン画面を表示する。ホームアプリ21aは、ユーザがメイン画面のアイコンを押下することによっていずれかの機能提供アプリ22または汎用アプリ121を選択する操作をした場合に、押下されたアイコンに対応する機能提供アプリ22または汎用アプリ121を起動する。例えば、ホームアプリ21aは、機能提供アプリ22または汎用アプリ121に対して、起動を指示する指示信号を送信することによって、機能提供アプリ22または汎用アプリ121を起動する。
なお、ユーザがホームアプリ21aを介さず、所望の機能提供アプリ22または汎用アプリ121を直接起動しても良いし、他の機能提供アプリ22または汎用アプリ121から所望の機能提供アプリ22を起動しても良い。また、ホームアプリ21aは、機能提供アプリ22のみメイン画面に表示するものとしても良い。また、ホームアプリ21aを設けずに、ホームアプリ21aが有する機能を第1接続アプリ23aや機能提供アプリ22等が有するものとしても良い。
機能提供アプリ22は、情報処理装置20aと、画像形成装置30の固定操作部(図2で図示)の双方で動作するように作成されたアプリである。情報処理装置20a及び固定操作部には、複数の機能提供アプリ22をインストールすることができる。
機能提供アプリ22はそれぞれ異なる機能を有していても良い。例えば、情報処理装置20aが接続される通信対象が画像形成装置(MPF)30である場合、MFPで実行するコピー、スキャン、プリント、FAXなどの種々の機能に関して、設定及び実行指示を行うためのユーザインターフェース画面を提供するアプリケーションが挙げられる。
図1では、機能提供アプリ22の一例として、プリントアプリ1221と、ファックスアプリ1222とを挙げる。例えば、プリントアプリ1221は、画像形成装置30のプリント機能に関して、ファックスアプリ1222は画像形成装置30のファックス機能に関して、それぞれ設定及び実行指示を行うためのユーザインターフェース画面を提供する。
また、各機能提供アプリ22は、WebAPIWrapper123(123a,123b)を有する。WebAPIWrapper123は、機能提供アプリ22が動作環境を意識せずに画像形成装置30と通信接続できるようにするための、WebAPI接続クラス251をラップしたクラスを提供するライブラリである。これにより、機能提供アプリ22は、WebAPIWrapper123のインスタンスを生成することで、機能提供アプリ22から、現在接続されている画像形成装置30との通信接続に関する通信接続情報(例えば、接続先のホスト名、接続先のポート番号等)を取得することができ、当該通信接続情報を用いて、画像形成装置30に対する機能の実行要求を送信することができる。
また、機能提供アプリ22は、当該機能提供アプリ22が実装されている端末装置(情報処理装置20aまたは画像形成装置30の固定操作部)に応じて、画像形成装置30に対する機能の実行要求に、ユーザ認証を行うための認証情報(例えば、ユーザIDおよびパスワード)を含めることができる。また、機能提供アプリ22は、当該機能提供アプリ22が実装されている端末装置に応じて、画像形成装置30に対する機能の実行要求を行う際に用いるプロトコルを、HTTPとHTTPSとで選択的に切り替えて用いることができる。なお、WebAPI接続クラス251は、機能提供アプリ22が有するものであってもよい。また、WebAPI接続クラス251は、Android(登録商標)などに搭載された機能を利用しても良い。
第1接続アプリ23aは、画像形成装置30との通信接続を行う。また、第1接続アプリ23aは、WebAPIWrapper123に対し、画像形成装置30との通信接続に関する通信接続情報を提供する。また、第1接続アプリは、情報処理装置にインストールされた機能提供アプリのアイコンを一覧表示するホーム画面を生成する機能や、情報処理装置が接続する画像形成装置を選択する画面や選択した画像形成装置に対してログインするために必要な認証情報を受け付ける画面を表示する機能を有していても良い。第1接続アプリ23aは、情報処理装置20aと後述の固定操作部のうち、少なくとも情報処理装置20aにインストールされて動作するように作成されたアプリである。例えば、第1接続アプリ23aは、情報処理装置20aに固有の処理を含むものとする。
また、図1では情報処理装置20aと画像形成装置30とは1対1で接続しているが、情報処理装置20aは複数の画像形成装置30と接続可能であるものとする。また、画像形成装置30は、複数の情報処理装置20aと接続可能であるものとする。
また、画像形成装置30に対する操作は、情報処理装置20aだけではなく、画像形成装置30の固定操作部によって実行されるものとしても良い。以下、画像形成装置30の固定操作部の詳細を説明する。
図2は、第1の実施形態にかかる画像形成システムSの全体構成の一例を示す図である。図2に示すように、画像形成システムSは、固定操作部20bと画像形成装置30とを有する。
固定操作部20bは、本体(画像形成装置30)に対して着脱可能に設けられても良い。また、固定操作部20bは、画像形成装置30だけではなく、複数の画像形成装置と通信可能であっても良い。例えば、固定操作部20bは、画像形成装置30と信号線によって通信可能に接続されていることに加えて、無線通信で別の画像形成装置と通信可能であっても良い。固定操作部20bは、OS25bと、第2接続アプリ23bと、機能提供アプリ22と、固定操作部アプリ124と、ホームアプリ21bとを備えている。
固定操作部20bが備える機能提供アプリ22および各機能提供アプリ22に含まれるWebAPIWrapper123は、情報処理装置20aが備える機能提供アプリ22および各機能提供アプリ22に含まれるWebAPIWrapper123と同様の機能を備える。情報処理装置20aと、固定操作部20bとには、同一の機能提供アプリ22がインストール可能であるものとする。
また、固定操作部20bが備える第2接続アプリ23bは、情報処理装置20aが備える第1接続アプリ23aと同様の機能を提供するものである。ただし、第2接続アプリ23bは、固定操作部20bに固有の処理を含むものとする。第2接続アプリ23bは、情報処理装置20aと固定操作部20bのうち、少なくとも固定操作部20bにインストールされて動作するように作成されたアプリである。なお、以下では、第1接続アプリ23aと第2接続アプリ23bとを区別する必要がない場合は、接続アプリ23と記載する。
OS25bは、各種のソフトウェアに対してハードウェアの機能のインターフェースを提供するオペレーティングシステムであって例えばAndroid(登録商標)等である。また、OS25bは、一機能としてWebAPI接続クラス252を備える。
WebAPI接続クラス252は、情報処理装置20aが備えるWebAPI接続クラス251と、同様の機能を提供するものである。ただし、WebAPI接続クラス252は、固定操作部20bに固有の処理を含むものとする。また、WebAPI接続クラス252は、OS25bとは異なるソフトウェアによって実現されても良い。なお、OS25bは、固定操作部20bで動作させるためにカスタマイズされたOSであっても良く、固定操作部20bのシステムの動作に必要な各種のアプリケーションを含んでいても良い。
固定操作部アプリ124は、固定操作部20bのみで利用可能な専用的のアプリケーションである。例えば、固定操作部20bが接続される通信対象が画像形成装置(MFP)30である場合、固定操作部アプリ124は、MFPで実行するコピー、スキャン、プリント、FAXなどの種々の機能に関して、設定及び実行指示を行うためのユーザインターフェース画面を提供するアプリケーションである。なお、固定操作部20bは、固定操作部アプリ124を実行するために固定操作部プラットフォームを備えていても良い。この場合、固定操作部プラットフォームは、第2接続アプリ23bが有する機能の一部または全部を含んでも良いし、第2接続アプリ23bとは別に設けられても良い。
図1、2に示すように、画像形成装置30は、OS305と、ECS(Engine Control Service)301と、NCS(Network Control Service)302と、SCS(System Control Service)303と、CCS(Certification Control Service)304とを備える。
OS305は、情報処理装置20a及び固定操作部20bとは異なる独立したOSであり、各種のソフトウェアに対してハードウェアの機能のインターフェースを提供する。
ECS301は、プロッタやスキャナなどを備える画像エンジンのハードの管理・調停などを行う。
NCS302は、画像形成装置30が有するネットワークI/Fのハードウェアの管理または調停などを行い、WebAPI接続クラス251,252からのWebAPIリクエスト(例えば、HTTPリクエスト、HTTPSリクエスト等)を受け付ける。
SCS303は、本体(画像形成装置30)や固定操作部20bの省エネモードからの復帰の管理やジョブの管理などシステム全般に関わる動作管理やカウンタ/画面/設定等の制御を行う。
CCS304は、本体(画像形成装置30)や固定操作部20bのユーザ認証/認証状態/利用制限の管理を行う。
ECS301、NCS302と、SCS303、CCS304、画像エンジンは、所定の機能を実行する機能部を構成する一例である。また、機能部は、上記以外にも、コピー、スキャン、プリント、FAXなどの種々の機能を提供するためのソフトウェア及びハードウェアを含んでも良い。
なお、画像形成装置30は通信対象の一例であり、通信対象は情報処理装置20a又は固定操作部20bと通信を行う。なお、通信対象は画像形成装置30に限定されるものではなく、電子黒板やプロジェクタを含むオフィス機器など、各種の電子機器であっても良い。
本実施形態においては、図1、2に示すように、情報処理装置20aおよび固定操作部20bにおいて、機能提供アプリ22と接続アプリ23とが別々に設けられている。機能提供アプリ22は、画像形成装置30などのデバイスを製造するメーカとは異なるサードパーティによって作成される場合も多い。そこで、本実施形態のように、画像形成装置30との接続については、機能提供アプリ22とは別に設けられた接続アプリ23が実現することによって、機能提供アプリ22は画像形成装置30との接続機能を含まなくとも機能を提供可能となる。このため、サードパーティである機能提供アプリ22の作成者が、機能提供アプリ22を作成することが容易となる。
また、画像形成装置30との接続に関し、各デバイス(固定操作部20bおよび情報処理装置20a)に固有の処理は、接続アプリ23に設けるため、機能提供アプリ22には、各デバイスに固有の処理を含まなくとも良い。すなわち、機能提供アプリ22は、各デバイスに共通のものとすることができる。デバイス毎に機能提供アプリ22を作成する必要がなくなるため、機能提供アプリ22の作成者は、機能提供アプリ22を容易に作成することができる。
なお、上記した情報処理装置20aおよび固定操作部20bの各機能は、例えば、情報処理装置20aまたは固定操作部20bにおいて、ROMまたはHDDに記憶されたプログラムを、CPUが実行することにより実現される。CPUが実行するプログラムは、予め情報処理装置20aまたは固定操作部20bに導入された状態で提供されてもよく、外部から提供されて情報処理装置20aまたは固定操作部20bに導入されるようにしてもよい。後者の場合、このプログラムは、外部記憶媒体(例えば、USBメモリ、メモリカード、CD-ROM等)によって提供されてもよく、ネットワーク(例えば、インターネット等)上のサーバ等からダウンロードすることによって提供されるようにしてもよい。
以下、本実施形態についてさらに詳細に説明する。以下の説明では、情報処理装置20aを例として説明するが、固定操作部20bも情報処理装置20aと同様の処理が実施可能であるものとする。
図3は、本実施形態にかかる情報処理装置20aのハードウェア構成の一例を示す図である。図3に示すように、情報処理装置20aは、CPU701と、ROM702と、RAM703と、フラッシュメモリ704と、操作パネル705と、通信I/F(インターフェース)706と、近距離無線通信部707と、を備えている。
操作パネル705は、例えば、タッチパネルとディスプレイが一体化されたタッチパネルディスプレイ等であり、情報処理装置20aに操作を行うための入力部と、情報処理装置20の処理結果等を表示する表示部とを含む。なお、入力部と表示部とが別々に設けられているものであってもよい。
図4は、本実施形態にかかる情報処理装置20aの機能提供アプリ22と接続アプリ23とが有する機能の一例を示すブロック図である。図4に示すように、機能提供アプリ22は、第1通信部221と、第1表示制御部222と、機能部223とを有する。
第1通信部221、第1表示制御部222、機能部223は、機能提供アプリ22が実現する機能である。ここで、特に機能部223の一部、又は全部の機能は、WebAPI Wrapper123によって実現される。特に、機能部223の機能の内、画像形成装置30に対するジョブ実行指示の送信などを含む画像形成装置30との通信を行う機能は、WebAPI Wrapper123によって実現されるものとする。以下、第1通信部221、第1表示制御部222、機能部223の機能について説明する。
第1通信部221は、後述する接続アプリ23の第2通信部231と通信を行う。具体的には、第1通信部221は、第2通信部231へ対して画像形成装置30の接続状態を問い合わせ、第2通信部231から接続状態の回答を受信する。画像形成装置30との接続状態とは、情報処理装置20aと各画像形成装置30との通信接続の有無である。
第1表示制御部222は、操作パネル705への表示を制御する。なお、第1表示制御部222は、情報処理装置20a内の他のソフトウェアに対して表示を指示する構成であっても良い。具体的には、第1表示制御部222は、画像形成装置30の接続状態の表示や、画像形成装置30に対する通信接続を実行させるためのボタンなどのユーザインターフェースを表示する。また、第1表示制御部222は、後述の機能部223が提供する機能に関連した表示やユーザインターフェースを提供することもできる。
機能部223は、機能提供アプリ22が有する1または複数の機能を提供する手段である。機能提供アプリ22が有する機能は、画像形成装置30が有する機能を含むものとする。例えば、機能提供アプリ22がプリントアプリ1221である場合には、機能部223は、印刷対象の選択、印刷条件の設定、画像形成装置30に対する印刷の実行指示などを行う。この場合、機能部223が有する機能は、画像形成装置30のプリント機能を含む。また、機能部223は、これらを実行するためのユーザインターフェースを提供する。当該ユーザインターフェースは、第1表示制御部222が提供するものとしても良い。なお、機能部223は、機能を実現する上で、情報処理装置20aが有する他のソフトウェアの機能を利用しても良い。本実施形態においては、機能部223が有する機能を実行可能なユーザインターフェースは機能提供画面ともいう。機能提供画面の詳細については後述する。また、機能部223は、直接、又は接続アプリ23などの他のソフトウェアを介して、画像形成装置30に対してプリント機能などの所定の処理の実行を指示する。
また、接続アプリ23は、第2通信部231と、第2表示制御部232と、接続状態判断部233と、接続制御部234とを有する。
第2通信部231は、機能提供アプリ22の第1通信部221と通信を行う。具体的には、第2通信部231は、第1通信部221から画像形成装置30の接続状態の問い合わせを受信し、第1通信部221に対して接続状態を送信(回答)する。
第2表示制御部232は、操作パネル705への表示を制御する。なお、第2表示制御部232は、情報処理装置20a内の他のソフトウェアに対して表示を指示する構成であっても良い。具体的には、第2表示制御部232は、画像形成装置30の接続状態の表示や、画像形成装置30に対する通信接続の実行指示や、接続対象の画像形成装置30を選択するためのユーザインターフェースを表示する。本実施形態においては、第2表示制御部232は、ユーザから機能提供アプリ22の起動指示を受け付けた場合であって通信対象との通信接続が確立していない場合は、通信対象との接続操作を受け付け可能な接続画面を操作パネル705に表示させる。接続画面の詳細については後述する。
接続状態判断部233は、画像形成装置30との接続状態が、未接続状態であるか接続状態であるかを判断する。例えば、接続状態判断部233は、接続制御部234が画像形成装置30と接続を行った場合、接続対象の画像形成装置30(接続対象機器)や接続状態、その他接続に関する情報を保持し、該情報に基づいて、画像形成装置30との接続状態を判断する。
接続制御部234は、画像形成装置30との接続を実行する。例えば、第2表示制御部232が表示したユーザインターフェースを介して、接続対象の情報を取得し、該情報に基づいて、選択された画像形成装置30に対して接続を実行する。また、接続制御部234は、ユーザが指定した画像形成装置30に対して通信確立及びログインの処理を行う。
次に、以上のように構成された本実施形態の情報処理装置20aで実行される処理の流れについて説明する。図5は、本実施形態にかかる接続確認処理の流れの一例を示すシーケンス図である。ホームアプリ21は、操作パネル705上に予めメイン画面を表示しているものとする。ホームアプリ21は、ユーザ5がメイン画面のアイコンを押下することによっていずれかの機能提供アプリ22を選択する操作をした場合に(S1)、押下されたアイコンに対応する機能提供アプリ22を起動する(S2)。例えば、ホームアプリ21は、機能提供アプリ22に対して、起動を指示する指示信号を送信することによって、機能提供アプリ22を起動する。なお、ユーザがホームアプリ21を介さず、所望の機能提供アプリ22を起動しても良いし、他の機能提供アプリ22から所望の機能提供アプリ22を起動しても良い。
機能提供アプリ22の第1通信部221は、ホームアプリ21からの指示信号を受けて起動した後、接続アプリ23に対して画像形成装置30との接続状態を問い合わせる(S3)。
また、接続アプリ23の第2通信部231は、機能提供アプリ22から問い合わせを受けると、画像形成装置30との接続状態を機能提供アプリ22に回答(送信)する(S4)。より詳細には、第2通信部231は、機能提供アプリ22から問い合わせを受けると、接続状態判断部233に画像形成装置30との接続状態を問い合わせる。この場合、接続状態判断部233が画像形成装置30との接続の有無を判断し、判断した結果を第2通信部231に回答する。第2通信部231は、接続状態判断部233によって判断された接続状態を、機能提供アプリ22に回答(送信)する。接続アプリ23は、画像形成装置30との接続状態の情報を予め保持している。例えば、接続アプリ23は、ユーザが指定した画像形成装置30に対して通信確立及びログインの処理を行うため、該処理に用いた情報を記憶することで、外部装置と未接続の状態であるか、又はいずれの外部装置と接続中の状態であるかを保持することができる。なお、接続アプリ23が外部装置と接続確立及びログインする際の処理については後述する。
また、接続アプリ23の接続状態判断部233は、各画像形成装置30との通信信号の有無等に基づいて各画像形成装置30との接続の有無を取得し、各画像形成装置30との接続の有無をフラッシュメモリ704等に保存しても良い。例えば、接続状態判断部233は、機能提供アプリ22からの問い合わせに応じて各画像形成装置30との接続の有無を読み出すものとする。あるいは、接続状態判断部233は、機能提供アプリ22からの問い合わせ時に、各画像形成装置30との接続の有無を無線ネットワーク300を介して取得しても良い。
機能提供アプリ22は、情報処理装置20aが画像形成装置30と未接続状態であることを示す回答を接続アプリ23から取得した場合、分岐1の処理に進む。
図5に示す分岐1の処理では、まず、機能提供アプリ22の第1表示制御部222は、画像形成装置30との接続状態(接続中、または未接続)を示すメッセージを操作パネル705上に表示する(S5)。
次に、機能提供アプリ22の第1表示制御部222は、画像形成装置30との接続操作の処理を開始するための接続ボタンを操作パネル705上に表示する(S6)。接続ボタンを含む画面902は、本実施形態における通信接続の実行を受け付け可能な第3の画面の一例である。そして、第1表示制御部222は、ユーザ5による接続ボタンを押下する操作を受け付けた場合に(S7)、機能提供アプリ22の第1通信部221は、接続アプリ23に対して、接続アプリ23が提供する接続画面に画面遷移の指示をする(S8)。
図6は、本実施形態にかかる接続ボタンを含む画面902の一例を示す図である。図6に示すように、接続ボタンを含む画面902は、機能提供アプリ22が提供する機能として、例えば通信対象(例えば、画像形成装置30)に実行させるコピー機能に関する条件設定や実行指示、実行結果を表示する画面に重ねて、接続ボタン1080を表示している。図6に示す例では、接続ボタン1080は、YESボタン1081と、NOボタン1082とを含む。第1表示制御部222は、YESボタン1081が押下された場合、接続アプリ23が提供する接続画面に画面遷移する。また、第1表示制御部222は、NOボタン1082が押下された場合は、接続ボタン1080の表示を終了する。なお、YESボタン1081を、接続ボタンと呼んでも良い。ただし、接続ボタンを含む画面902の表示形態は図6に示す例に限定されるものではなく、第1表示制御部222は、YESボタン1081に相当する接続ボタンのみを表示させても良い。
なお、第1表示制御部222は、機能提供アプリ22の起動が指示された場合、機能提供アプリ22が提供する機能提供画面を表示させずに、又は機能提供アプリ22が提供する機能提供画面を表示させた直後に、接続アプリ23が提供する接続画面を表示させても良い。ここで、例えば接続アプリ23は、外部装置(すなわち、通信対象。例えば、画像形成装置30)との接続が確立していない場合は、機能提供アプリ22から外部装置接続状態の問い合わせを受けた時点で、又は外部装置との接続状態を機能提供アプリ22に回答した後、接続画面を表示させても良い。これにより、S5~S7の処理を省略することで、ユーザの利便性を向上させることができる。
なお、機能提供アプリ22の第1表示制御部222が、接続画面への画面遷移を実行しても良い。また、接続ボタンの表示は、接続アプリ23の第2表示制御部232が実行しても良い。この場合、接続ボタンの押下によって、接続アプリ23の第2表示制御部232が操作パネル705への表示を制御して接続画面に画面遷移しても良いし、画面遷移の指示を機能提供アプリ22に対して送信しても良い。
そして、接続アプリ23の第2通信部231が機能提供アプリ22から画面遷移の指示を受けると、第2表示制御部232は、画像形成装置30との接続操作を受け付け可能な接続画面を操作パネル705上に表示する(S9)。図7は、本実施形態にかかる接続画面900の一例を示す図である。図7に示すように、接続画面900は、接続先の画像形成装置30を特定するホスト名またはIPアドレスを入力可能な入力欄71と、実行ボタン72とを含む。また、図7に示す例のように、接続画面900は、メニューボタン73や、接続先の機器を検索可能な検索ボタン75等をさらに含むものでも良い。接続画面900は、本実施形態における第1の画面の一例である。また、図7の例では、接続先の画像形成装置30をユーザ5が入力するものとしているが、接続アプリ23の第2表示制御部232は、情報処理装置20aが接続可能な画像形成装置30を特定するホスト名またはIPアドレスを接続画面900上に表示しても良い。
次に、接続アプリ23の接続制御部234は、ユーザ5が接続画面900の入力欄71にホスト名またはIPアドレスを入力した上で実行ボタン72を押下したことを操作パネル705を介して受け付けた場合に(S10)、入力されたホスト名またはIPアドレスで特定される画像形成装置30との通信接続を確立する接続処理を実行する(S11)。入力されたホスト名またはIPアドレスは、接続先情報という。ユーザ5による実行ボタン72の押下は、本実施形態における接続操作の一例である。
画像形成装置30は、接続アプリ23からの通信接続の処理を受け付けると、情報処理装置20aとの接続処理を実行する(S12)。画像形成装置30は、通信接続が確立すると、接続アプリ23に対して信号を送信する(S13)。なお、接続アプリ23は、画像形成装置30との接続が確立された場合、いずれの画像形成装置30と接続中であるかを示す情報を、接続アプリ23が参照可能な記憶領域、例えばフラッシュメモリ704やRAM703等に保持することができる。
次に、接続アプリ23の第2通信部231は、画像形成装置30との通信接続が確立すると、S8の処理の画面遷移の指示の送信元である機能提供アプリ22に対して、接続完了を通知する。また、接続アプリ23の第2表示制御部232は、機能提供アプリ22に対して、機能提供アプリ22の機能を提供する機能提供画面への画面遷移を指示する(S14)。また、接続アプリ23の第2表示制御部232が操作パネル705への表示を制御して機能提供画面に画面遷移しても良い。
そして、機能提供アプリ22の第1表示制御部222は、接続アプリ23が画像形成装置30との接続を確立した後、接続アプリ23からの画面遷移の指示を受けて、機能提供アプリ22の機能を提供する機能提供画面を操作パネル705上に表示する(S15)。機能提供画面は、各機能提供アプリ22によってそれぞれ異なる画面であり、例えば、プリントアプリ1221の場合は、印刷対象の写真や文書などのファイルを選択する画面や、印刷条件を設定する画面、及び印刷処理の実行を指示する画面等、ジョブ実行に必要な操作を受ける画面が表示される。また、機能提供画面は、機能提供アプリ22が処理を実行する実行画面ともいう。機能提供画面は、本実施形態における第2の画面の一例である。機能部223は、機能提供画面に対するユーザ5からの入力操作等に基づいて、画像形成装置30の実行部に対してプリント機能などの所定の処理の実行を指示する。
図8は、本実施形態にかかる機能提供画面903の一例を示す図である。機能提供画面903は、機能提供アプリ22が提供する機能として、例えば通信対象に実行させるコピー機能に関する条件設定や実行指示、実行結果を表示する画面である。また、機能提供画面903には、接続が確立した画像形成装置30の情報、及び画像形成装置30にログイン中のユーザの情報を表示しても良い。図8に示す例では、機能提供画面903は、接続中またはログイン中の画像形成装置30の名称を表示する画像形成装置名表示エリア84と、ログイン中のユーザを特定するユーザ名またはユーザIDを表示するユーザ表示エリア85とを含む。また、第1表示制御部222は、機能提供画面903に、押下された場合に画像形成装置との接続を切断させるボタン81、押下された場合にユーザのログアウトを行うログアウトボタン82を表示することもできるが、これらのボタンは省略しても良い。
また、S4の処理で、情報処理装置20aが画像形成装置30と接続状態であることを接続アプリ23の第2通信部231が機能提供アプリ22の第1通信部221に回答した場合、機能提供アプリ22は、分岐2の処理を実行する。
分岐2の処理では、既に情報処理装置20aと画像形成装置30との接続が確立しているため、機能提供アプリ22の第1表示制御部222は、機能提供アプリ22の機能を提供する機能提供画面903を操作パネル705上に表示する(S16)。また、第1表示制御部222は、機能提供画面903を表示する前に、画像形成装置30との接続状態(接続中、または未接続)を示すメッセージを表示しても良い。
このように、本実施形態の情報処理装置20aでは、機能提供アプリ22は、機能提供アプリ22の起動指示を受け付けた場合であって画像形成装置30との通信接続が確立していない場合は、接続画面900を操作パネル705に表示し、接続アプリ23が画像形成装置30との接続を確立した後、機能提供画面903を操作パネル705に表示する。このため、本実施形態の情報処理装置20aによれば、情報処理装置20aと画像形成装置30との接続状態を確認するためのユーザ5の作業負荷を軽減することができる。
より具体的には、本実施形態の情報処理装置20aによれば、ユーザ5が情報処理装置20aと画像形成装置30とが接続しているか否かを確認せずに機能提供アプリ22を起動する操作を行った場合でも、画像形成装置30との接続状態に応じて接続画面900を表示する。このため、ユーザ5は、機能提供アプリ22を起動するアイコン操作をする前に予め接続状態を確認しなくとも、機能提供アプリ22の使用を開始することができる。これにより、ユーザ5は、情報処理装置20aと画像形成装置30との接続状態を意識せずに所望の機能提供アプリ22を起動する操作を行うことができ、ユーザ5の確認作業の手間や、操作の煩わしさが軽減される。
また、本実施形態の情報処理装置20aによれば、機能提供アプリ22が、接続アプリ23に対して画像形成装置30との接続状態を問い合わせる。そして、機能提供アプリ22は、起動指示を受け付けた場合であって画像形成装置30との通信接続が確立していない場合は、接続ボタンを含む画面902を表示部に表示させる。また、接続アプリ23は、接続ボタンを含む画面902において通信接続の実行を受け付けた場合、接続画面900を操作パネル705に表示させる。このため、本実施形態の情報処理装置20aによれば、接続状態に応じて、接続ボタンを含む画面902が表示されるため、ユーザ5は、スムーズに所望の画像形成装置30への接続操作を行うことができる。これにより、操作の煩わしさが軽減される。
また、本実施形態の情報処理装置20aによれば、機能提供アプリ22と接続アプリ23とを別々のアプリケーションソフトウェアとして有しているため、目的の処理に合わせて多くの機能提供アプリ22が存在する場合でも、接続アプリ23が画像形成装置30との接続を統括して効率的に処理を実行することができる。また、画像形成装置30との接続の処理は、情報処理装置20aによって異なる場合がある。本実施形態のように機能提供アプリ22と接続アプリ23とを別々のアプリケーションソフトウェアとすることで、接続の仕様の異なる情報処理装置20に対しても共通の機能提供アプリ22が適用可能となる。このため、機能提供アプリ22の作成者は、より容易に機能提供アプリ22を作成することができる。
さらに、本実施形態の情報処理装置20aでは、機能提供アプリ22は、起動したタイミングで接続アプリ23に対して画像形成装置30との接続状態を問い合わせる。このため、本実施形態の情報処理装置20aによれば、ユーザ5は、所望の機能提供アプリ22を起動させる操作をすると、必要に応じて画面遷移によって接続ボタンの表示画面や接続画面900に誘導されるため、操作の手間が軽減される。
(変形例1)
上述の第1の実施形態では、接続アプリ23は、画像形成装置30との接続を確立した後は直ちに機能提供画面903へ画面遷移していたが、機能提供画面903に画面遷移する前に、画像形成装置30へのログイン画面を操作パネル705上に表示しても良い。
図9は、変形例1にかかるログイン画面901の一例を示す図である。ログイン画面901は認証画面ともいい、例えば、ユーザIDの入力欄77と、パスワードの入力欄78と、ログインを実行する実行ボタン79とを含む。接続アプリ23の接続制御部234は、入力されたユーザIDおよびパスワードを認証要求と共に画像形成装置30に送信し、画像形成装置30へのログイン処理を行う。
また、ログイン画面901は、図9に示す例のように、メニューボタン73や、画像形成装置30との接続を切断する切断ボタン81、接続中の画像形成装置30の機器の名称の表示エリア76、「ログインせずに使用する」ボタン80を含むものでも良い。接続アプリ23の接続制御部234は、「ログインせずに使用する」ボタン80が押下された場合は、画像形成装置30へのログインの処理を実行しないまま、画像形成装置30との接続を継続する。この場合、機能提供アプリ22の機能部223は、画像形成装置30の有する機能のうちユーザ認証不要の機能のみを使用可能となる。なお、接続アプリ23は、接続制御部234とは別に、個人情報管理部を備えても良い。当該構成を採用する場合、個人情報管理部がログイン処理を実行するものとしても良い。また、情報処理装置20aは、接続アプリ23とは別のアプリケーションソフトウェアとして個人情報管理部を備えても良い。
(第2の実施形態)
上述の第1の実施形態では、機能提供アプリ22は、起動した際に、接続アプリ23に対して画像形成装置30との接続状態を問い合わせていた。これに対して、第2の実施形態では、機能提供アプリ22は、起動してすぐではなく、画像形成装置30の機能を使用する処理を実行する際に、接続アプリ23に対して画像形成装置30との接続状態を問い合わせる。
本実施形態にかかる情報処理システム100aの全体構成および情報処理装置20aの構成は、図1~4で説明した第1の実施形態の構成と同様である。
図10は、本実施形態にかかる接続確認処理の流れの一例を示すシーケンス図である。S201のユーザ5によるアイコン操作の受け付けから、S202の機能提供アプリ22の起動までは、図5で説明したS1、S2の処理と同様である。
本実施形態の機能提供アプリ22の第1表示制御部222は、ホームアプリ21からの指示信号を受けて機能提供アプリ22が起動した後、機能提供画面903を操作パネル705に表示する(S203)。例えば、起動した機能提供アプリ22がプリントアプリ1221である場合は、印刷対象の写真や文書などのファイルを閲覧または選択する画面等が表示される。この時点では、第1表示制御部222は、情報処理装置20a内のフラッシュメモリ704等に保存された写真や文書等を表示しているため、画像形成装置30の機能を使用していない。
その後、機能提供アプリ22の第1通信部221は、ユーザ5による操作パネル705へのタッチ操作等によって画像形成装置30の機能を使用するジョブ(処理)の実行を指示する操作を受け付けた場合に(S204)、接続アプリ23に対して画像形成装置30との接続状態を問い合わせる(S205)。例えば、ユーザ5が操作パネル705上に表示された印刷対象の写真をタッチして、当該写真を印刷する処理を実行する操作をする。印刷の処理は画像形成装置30のプリント機能を使用するため、この場合、第1通信部221は、接続アプリ23の第2通信部231に対して画像形成装置30との接続状態を問い合わせる。
接続アプリ23の第2通信部231は、機能提供アプリ22の第1通信部221から問い合わせを受けると、画像形成装置30との接続状態を第1通信部221に回答(送信)する(S206)。
機能提供アプリ22は、情報処理装置20aが画像形成装置30と未接続状態であることを示す回答を接続アプリ23から取得した場合、分岐1の処理に進む。
図10に示す分岐1の処理のうち、S207の接続状態の表示から、S216の機能提供画面903への画面遷移の処理までは、図5で説明したS5~S14の処理と同様である。
そして、機能提供アプリ22の第1表示制御部222は、接続アプリ23が画像形成装置30との接続を確立した後、再び機能提供画面903を表示する。また、機能部223は、S204でユーザ5から実行を指示されたジョブを再開する(S217)。
また、S206の処理で、情報処理装置20aが画像形成装置30と接続状態であることを接続アプリ23の第2通信部231が機能提供アプリ22の第1通信部221に回答した場合、機能提供アプリ22は、分岐2の処理を実行する。
この場合、既に情報処理装置20aと画像形成装置30との接続が確立しているため、図10に示す分岐2の処理では、機能提供アプリ22の第1表示制御部222は、機能提供画面903の表示を継続する。また、機能部223は、S203でユーザ5から実行を指示ジョブを実行する(S218)。
このように、本実施形態の情報処理装置20aでは、機能提供アプリ22は、画像形成装置30の機能を用いる処理を実行するタイミングで、接続アプリ23に対して画像形成装置30との接続状態を問い合わせる。このため、本実施形態の情報処理装置20aによれば、ユーザ5が画像形成装置30の機能を使用するタイミングで、必要に応じて接続画面900を表示するため、不要な画面遷移や問い合わせ処理の実行を抑制することができる。
例えば、ユーザ5が機能提供アプリ22を起動した場合であっても、ユーザ5が直ちに画像形成装置30の機能を利用するとは限らない。例えば、機能提供アプリ22の機能の一つに情報処理装置20aの画像を閲覧または編集する機能があった場合、画像形成装置30との接続は不要である。ユーザ5が機能提供アプリ22を起動した後に、例えば、確認した画像をファックスで送る等の画像形成装置30の機能を用いた処理(ジョブ)の実行を所望する場合、機能提供アプリ22は、当該ジョブを実行するタイミングで接続アプリ23に画像形成装置30との接続状態を問い合わせる。このため、本実施形態の情報処理装置20aによれば、機能提供アプリ22はユーザ5が画像形成装置30の機能を所望しない場合は接続状態の問い合わせの処理をせず、処理負荷を軽減することができる。
なお、第1の実施形態と第2の実施形態の構成を組み合わせて、機能提供アプリ22ごとに接続アプリ23に対して画像形成装置30との接続状態を問い合わせるタイミングを変更しても良い。例えば、画像形成装置30の機能を用いなくとも実行可能な処理(ジョブ)を含む機能提供アプリ22は、第2の実施形態に記載のタイミングで接続状態を問い合わせ、その他の機能提供アプリ22は、第1の実施形態に記載のように起動時に接続状態を問い合わせるものとしても良い。例えば、機能提供アプリ22は、該アプリに予め設定された設定情報や該アプリが有する機能情報を参照することで、いずれのタイミングで接続状態を問い合わせるかを決定しても良い。また、ホームアプリ21は、起動対象である機能提供アプリ22の設定情報や機能情報を読み込むことでいずれのタイミングで接続状態を問い合わせるかを決定し、機能提供アプリ22に代わって、接続アプリ23に対して外部装置の接続状態を問い合わせても良い。
(第3の実施形態)
上述の第1、第2の実施形態では、接続アプリ23は、情報処理装置20aと画像形成装置30とが接続しているか否かを確認していた。第3の実施形態では、接続アプリ23は、さらに、情報処理装置20aと接続している画像形成装置30が、機能提供アプリ22が求める機能を有するか否かを確認する。
本実施形態にかかる情報処理システム100aの全体構成および情報処理装置20aの構成は、図1~4で説明した第1の実施形態の構成と同様である。
図11は、本実施形態にかかる接続確認処理の流れの一例を示すシーケンス図である。S301のユーザ5によるアイコン操作の受け付けから、S302の機能提供アプリ22の起動までは、図5で説明したS1、S2の処理と同様である。また、S303の機能提供画面903の表示から、S304のジョブの実行を指示する操作の受け付けまでは、図10で説明したS203、S204の処理と同様である。
機能提供アプリ22の第1通信部221は、ユーザ5による操作パネル705へのタッチ操作等によって画像形成装置30の機能を使用するジョブ(処理)の実行を指示する操作を受け付けた場合に(S304)、接続アプリ23の第2通信部231に対して画像形成装置30との接続状態を問い合わせる(S305)。本実施形態の第1通信部221は、接続アプリ23に対して接続状態を問い合わせる際に、S304でユーザ5から実行を指示されたジョブが要求するケイパビリティ条件を接続アプリ23に対して通知する。
ケイパビリティ条件は、機能提供アプリ22に含まれるジョブの実行のために必要な画像形成装置30の機能または紙種等を示す情報である。図12は、本実施形態にかかるケイパビリティ情報テーブル800の一例を示す図である。図12に示すように、ケイパビリティ情報テーブル800は、ジョブを特定可能なジョブ名と、使用機能と、紙種とを対応付けて記憶する。使用機能と、紙種とは、各ジョブのケイパビリティ条件の一例である。ケイパビリティ情報テーブル800は、例えば、フラッシュメモリ704等に予め保存されている。
使用機能は、機能提供アプリ22に含まれるジョブが使用する画像形成装置30の機能であり、例えばスキャン、ファックス、プリント、コピー等の機能である。また、紙種は、機能提供アプリ22に含まれるジョブが使用する紙の寸法(サイズ)である。また、紙種は、光沢紙、普通紙等の紙の種類を示すものであっても良い。
機能提供アプリ22の第1通信部221は、ケイパビリティ情報テーブル800から実行対象のジョブに対応付けられた使用機能または紙種を当該ジョブのケイパビリティ条件として取得し、接続アプリ23に送信する。本実施形態におけるケイパビリティ条件は、機能部223が用いる画像形成装置30の機能を特定する使用機能情報の一例である。また、本実施形態におけるケイパビリティ条件は、機能部223が実行する処理で使用される紙の種類または寸法を特定する紙種情報の一例でもある。
なお、ケイパビリティ情報はテーブル形式で記憶されていなくとも良い。例えば、機能提供アプリ22に含まれるジョブごとケイパビリティ条件は、機能提供アプリ22を記述するプログラムに含まれているタグ情報としても良い。また、使用機能および紙種は上述の例に限定されるものではない。また、ケイパビリティ情報は、さらに他の条件を含むものであっても良い。
次に、接続アプリ23の接続制御部234は、機能提供アプリ22から、画像形成装置30との接続状態の問い合わせと、ジョブが要求するケイパビリティ条件の通知を受けると、情報処理装置20aと接続状態にある画像形成装置30のケイパビリティ、つまり画像形成装置30の有する機能と対応可能な紙種とを確認する(S306)。
例えば、情報処理装置20aと接続状態にある画像形成装置30の有する機能と対応可能な紙種とは、各画像形成装置30を特定可能な識別情報と対応付けられてフラッシュメモリ704等に記憶されているものとする。接続アプリ23の接続制御部234は、例えば画像形成装置30との接続時に、画像形成装置30が有する機能を示す情報を画像形成装置30から取得して、フラッシュメモリ704等に保存する。また、接続アプリ23は、接続中の画像形成装置30に限らず、過去に接続した画像形成装置30が有する機能をフラッシュメモリ704等に保持していても良い。あるいは、画像形成装置30側から接続アプリ23に対して、画像形成装置30が有する機能を通知するものとしても良い。
接続制御部234は、機能提供アプリ22から通知されたケイパビリティ条件と、情報処理装置20aと接続状態にある画像形成装置30のケイパビリティとを比較する。また、当該処理は接続状態判断部233が行うものとしても良い。そして、接続アプリ23の第2通信部231は、機能提供アプリ22から通知されたケイパビリティ条件を満たす画像形成装置30と、情報処理装置20aとが接続状態にあるか否かを機能提供アプリ22に回答(送信)する(S307)。また、このとき、接続制御部234は、情報処理装置20aと接続可能な画像形成装置30を探索しても良い。この場合、第2通信部231は、接続可能な画像形成装置30のうち、機能提供アプリ22から通知されたケイパビリティ条件を満たす画像形成装置30を特定する情報を機能提供アプリ22に送信しても良い。画像形成装置30を特定する情報は、ホスト名またはIPアドレス等である。
機能提供アプリ22の機能部223は、接続アプリ23から取得した画像形成装置30との接続状態に基づいて、情報処理装置20aが機能提供アプリ22が実行する処理(ジョブ)のケイパビリティ条件を満たす画像形成装置30と接続しているか否かを判断する。また、当該判断の処理は第1通信部221が行うものとしても良い。
情報処理装置20aがいずれの画像形成装置30とも未接続の状態である場合、または、ケイパビリティ条件を満たさない画像形成装置30とのみ接続している状態であると判断した場合は、機能提供アプリ22は分岐1の処理に進む。なお、接続アプリ23の接続制御部234または接続状態判断部233は、機能提供アプリ22から取得したケイパビリティ条件と、接続中の画像形成装置30から取得したケイパビリティ条件に基づいて、ジョブのケイパビリティ条件を満たす画像形成装置30と接続しているか否かの判断を行い、判断結果を機能提供アプリへ通知することができる。
図11に示す分岐1の処理のうち、S308の接続状態の表示から、S310の接続ボタンの押下の受け付けの処理までは、図5で説明したS5~S7の処理と同様である。
そして、ユーザ5による接続ボタンを押下する操作を受け付けた場合に(S310)、機能提供アプリ22の第1通信部221は、接続アプリ23の第2通信部231に対して接続画面900への画面遷移の指示をすると共に、ジョブが要求するケイパビリティ条件を通知する(S311)。
そして、接続アプリ23の第2表示制御部232は、機能提供アプリ22から画面遷移の指示を受けると、接続画面900を操作パネル705上に表示する(S312)。このとき、第2表示制御部232は、接続画面900上に、機能提供アプリ22から通知されたケイパビリティ条件を満たす画像形成装置30を特定するホスト名またはIPアドレスを表示する。
より詳細には、接続制御部234は、情報処理装置20aと接続可能な画像形成装置30を探索して、接続可能な複数の画像形成装置30のそれぞれのケイパビリティを示す情報を取得する。また、接続制御部234は、予め取得済みの各画像形成装置30のケイイパビリティを示す情報をフラッシュメモリ704等から検索しても良い。そして、接続制御部234は、接続可能な複数の画像形成装置30のうち、機能提供アプリ22から通知されたケイパビリティ条件を満たす画像形成装置30を特定する。第2表示制御部232は、接続制御部234が特定した画像形成装置30を接続画面900に表示する。ケイパビリティ条件を満たす画像形成装置30が複数ある場合は、接続制御部234は、いずれか1つの画像形成装置30を特定して通信接続を確立するものとする。また、接続制御部234は、ケイパビリティ条件を満たす複数の画像形成装置30と接続しても良い。また、ケイパビリティ条件を満たす画像形成装置30の特定は、接続状態判断部233が行うものとしても良い。
そして、接続アプリ23の接続制御部234は、ユーザ5が実行ボタン72を押下したことを操作パネル705を介して受け付けた場合に(S313)、S312の処理で特定済みの、機能提供アプリ22から通知されたケイパビリティ条件を満たす画像形成装置30との通信接続を確立する接続処理を実行する(S314)。
S315の画像形成装置30が実行する接続処理から、S317の機能提供画面903への画面遷移の処理までは、図5で説明したS12~S14の処理と同様である。また、S315のジョブの再開の処理は、図10で説明したS217の処理と同様である。
また、機能提供アプリ22は、S307の処理で接続アプリ23が送信した画像形成装置30との接続状態に基づいて、機能提供アプリ22が実行する処理(ジョブ)のケイパビリティ条件を満たす画像形成装置30と接続していると判断した場合は、分岐2の処理に進む。図11に示す分岐2の処理は、図10で説明したS218の処理と同様である。
なお、S312の接続画面900の表示の処理では、接続アプリ23は、図7で説明した第1の実施形態の接続画面900と同様に、ユーザ5によるホスト名またはIPアドレスの入力を受け付けるものとしても良い。また、接続アプリ23は接続画面900を表示せずに、接続可能な複数の画像形成装置30のうち、機能提供アプリ22から通知されたケイパビリティ条件を満たす画像形成装置30を特定して、特定した画像形成装置30との通信接続を確立する接続処理を実行しても良い。
このように、本実施形態の情報処理装置20aでは、接続アプリ23は、機能提供アプリ22が実行するジョブのケイパビリティ条件を満たす画像形成装置30と通信接続する。このため、本実施形態の情報処理装置20aによれば、ユーザ5が所望する機能提供アプリ22が実行するジョブを実行可能な画像形成装置30と接続することができるため、ケイパビリティ条件を満たさない画像形成装置30と接続したままジョブを実行することによるエラーの発生を抑制すると共に、再接続のための操作の手間を軽減することができる。
なお、本実施形態では、第2の実施形態と同様に、画像形成装置30の機能を使用するジョブが実行されるタイミングで、機能提供アプリ22が接続アプリ23に対して接続状態を問い合わせるものとしたが、第1の実施形態と同様に、機能提供アプリ22の起動のタイミングで接続状態を問い合わせても良い。当該構成を採用する場合は、機能提供アプリ22は、接続状態を問い合わせる際に、機能提供アプリ22に含まれる全てのジョブのケイパビリティ条件を接続アプリ23に対して送信するものとしても良い。また、第2、第3の実施形態に対して変形例1を組み合わせても良い。
(第4の実施形態)
図13は、第4の実施形態にかかる情報処理システム100bの全体構成の一例を示す図である。図13に示すように、情報処理システム100bは、外部装置10a,10b(以下、特に区別しない場合は単に外部装置10という)と、情報処理装置20とを備える。
外部装置10は、例えば、MFP(Multifunction Peripheral、複合機)やIWB(Interactive Whiteboard、電子黒板)等である。各外部装置10は、コピー、スキャナ、ファックス、またはプリント(印刷)等の機能を有する。なお、コピー、スキャナ、ファックス、プリントなどの各処理を実行する手段として、ソフトウェア及びプロッタやスキャナなどのハードウェアをまとめて実行部と表現する。外部装置10は情報処理装置20と無線ネットワーク300を介して実行する処理に関する実行指示を取得し、実行部は取得した実行指示に基づいて処理を実行する。各外部装置10が有する機能はこれに限定されるものではなく、また、各外部装置10はそれぞれ異なる機能を有するものであって良い。外部装置10は、本実施形態における通信対象の一例である。本実施形態においては、外部装置10は、第1の実施形態の画像形成装置30と同様の機能を備えるものとする。
情報処理装置20は、第1の実施形態の情報処理装置20aと同様の機能を備える。例えば、情報処理装置20は、タブレット端末やスマートフォン等の情報処理端末(スマート端末、スマートデバイス)である。ただし、情報処理装置20は、これに限定されず、画像形成装置などに有線接続される操作部パネルであっても良い。情報処理装置20は、ホームアプリケーションソフトウェア21と、機能提供アプリケーションソフトウェア22と、接続アプリケーションソフトウェア23とを有する。なお、ホームアプリケーションソフトウェア21と接続アプリケーションソフトウェア23は、別個のアプリケーションであっても良いし、一つのアプリケーションであっても良い。
ホームアプリケーションソフトウェア(以下、ホームアプリ)21は、情報処理装置20のディスプレイにメイン画面(初期画面)を表示する。メイン画面には、ユーザが所望の操作を指定するためのアイコン等が並べられる。メイン画面上のアイコンが操作された場合に、ホームアプリ21は、当該アイコンに対応付けられた機能提供アプリケーションソフトウェア22を起動する。また、情報処理装置20がマルチタスク環境のコンピュータである場合は、情報処理装置20は、複数のアプリケーションを起動状態に維持することが可能である。このため、ホームアプリ21は、起動済みでバックグラウンドで動作中の機能提供アプリケーションソフトウェア22のうち、ユーザによって操作されたアイコンに対応づけられた機能提供アプリケーションソフトウェア22を、フォアグラウンドへ移行させても良い。以下では、機能提供アプリケーションソフトウェア22の起動やフォアグラウンドへの移行など、機能提供アプリケーションソフトウェア22を使用可能な状態へ移行させることを、機能提供アプリケーションソフトウェア22を実行すると表現する場合がある。
機能提供アプリケーションソフトウェア(以下、機能提供アプリ)22は、外部装置10の機能を用いる各種の処理を実行し、ユーザに対して機能を提供する。図13に示す例では、機能提供アプリ22は、プリントアプリ1221と、ファックスアプリ1222とを有する。プリントアプリ1221は、外部装置10のプリント機能を利用するアプリケーションソフトウェアである。また、ファックスアプリ1222は、外部装置10のファックス機能を利用するアプリケーションソフトウェアである。なお、機能提供アプリ22は、機能提供部ともいう。
接続アプリケーションソフトウェア(以下、接続アプリ)23は、外部装置10との通信接続を行う。例えば、情報処理装置20と外部装置10とは無線ネットワーク300によって互いに通信可能であるものとする。接続アプリ23は、無線ネットワーク300で通信可能な外部装置10との接続の確立や、ユーザの操作に基づく外部装置10へのログイン処理等を実行する。また、接続アプリ23は、各外部装置10との接続状態(接続の有無)の情報を保持し、機能提供アプリ22から各外部装置10との接続状態の問い合わせを受けた場合に、各外部装置10との接続状態を機能提供アプリ22に送信する。なお、接続アプリ23は、接続部ともいう。また情報処理装置20と外部装置10との接続の手段は、無線通信に限定されるものではなく、USB(Universal Serial Bus)ケーブル等の有線通信によって接続しても良い。
第1~4の実施形態の情報処理装置20,20a、固定操作部20bで実行される機能提供アプリ22および接続アプリ23は、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、第1~4の実施形態の情報処理装置20,20a、固定操作部20bで実行される機能提供アプリ22および接続アプリ23を、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、第1~3の実施形態の情報処理装置20,20a、固定操作部20bで実行される機能提供アプリ22および接続アプリ23をインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、第1~4の実施形態の情報処理装置20,20a、固定操作部20bで実行される機能提供アプリ22および接続アプリ23を、ROM等に予め組み込んで提供するように構成してもよい。第1~3の実施形態の情報処理装置20,20a、固定操作部20bで実行される機能提供アプリ22および接続アプリ23は、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体から機能提供アプリ22および接続アプリ23のプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、機能提供アプリ22(第1通信部、第1表示制御部、機能部)および接続アプリ23(第2通信部、第2表示制御部、接続状態判断部、接続制御部)が主記憶装置上に生成されるようになっている。