(57)【特許請求の範囲】
【請求項１】
機器であって、
当該機器に対する処理の実行要求を受け付けるための第１のインタフェースを介して通知された設定情報に応じた処理を当該機器に実行させる機器制御部と、
第１のアプリケーションプログラムの機能に関する設定をユーザから受け付けるための第１の画面を表示し、前記第１の画面を介して受け付けた設定内容に基づく設定情報を、前記第１のインタフェースを介して前記機器制御部へ通知する前記第１のアプリケーションプログラムとを有し、
前記第１のアプリケーションプログラムは、
前記第１の画面の表示要求を、当該機器にインストールされた、前記機能を流用する第２のアプリケーションプログラムから第２のインタフェースを介して受け付けると、前記表示要求に対する応答として、前記第１の画面を介して受け付けた設定内容を示す情報を、前記第１のインタフェースを介して前記機器制御部に通知される設定情報と同じ構成で、前記第２のアプリケーションプログラムに通知し、
前記第２のアプリケーションプログラムに通知された前記設定内容を示す情報と共に前記処理の実行要求を、前記第２のアプリケーションプログラムから前記第２のインタフェースを介して受け付けると、前記実行要求において受け付けた前記設定内容を示す情報に基づく設定情報を、前記第１のインタフェースを介して前記機器制御部へ通知する、
ことを特徴とする機器。
【請求項２】
前記第１のアプリケーションプログラムは、前記表示要求において、前記設定情報と同じ構成で前記第１の画面に対する設定の初期値を受け付け、前記初期値が反映された状態で前記第１の画面を表示する、
ことを特徴とする請求項１記載の機器。
【請求項３】
前記第１のアプリケーションプログラムは、前記実行要求に応じ、前記処理を実行中であることを示す第２の画面を表示する、
ことを特徴とする請求項１又は２記載の機器。
【請求項４】
前記第１のアプリケーションプログラムは、前記実行要求に対する応答として、前記処理によって生成されたデータの識別情報を前記第２のアプリケーションプログラムに通知する、
ことを特徴とする請求項１乃至３いずれか一項記載の機器。
【請求項５】
前記第１の画面は、スキャン設定画面であり、
前記設定内容を示す情報は、すくなくともスキャンの解像度及びファイル形式のいずれか一方を含む、
ことを特徴とする請求項１乃至４いずれか一項記載の機器。
【請求項６】
機器制御部と第１のアプリケーションプログラムとを有する機器が実行する情報処理方法であって、
前記機器制御部が、当該機器に対する処理の実行要求を受け付けるための第１のインタフェースを介して通知された設定情報に応じた処理を当該機器に実行させる手順と、
前記第１のアプリケーションプログラムが、前記第１のアプリケーションプログラムの機能に関する設定をユーザから受け付けるための第１の画面を表示し、前記第１の画面を介して受け付けた設定内容に基づく設定情報を、前記第１のインタフェースを介して前記機器制御部へ通知する手順と、
前記第１のアプリケーションプログラムが、前記第１の画面の表示要求を、当該機器にインストールされた、前記機能を流用する第２のアプリケーションプログラムから第２のインタフェースを介して受け付けると、前記表示要求に対する応答として、前記第１の画面を介して受け付けた設定内容を示す情報を、前記第１のインタフェースを介して前記機器制御部に通知される設定情報と同じ構成で、前記第２のアプリケーションプログラムに通知する手順と、
前記第１のアプリケーションプログラムが、前記第２のアプリケーションプログラムに通知された前記設定内容を示す情報と共に前記処理の実行要求を、前記第２のアプリケーションプログラムから前記第２のインタフェースを介して受け付けると、前記実行要求において受け付けた前記設定内容を示す情報に基づく設定情報を、前記第１のインタフェースを介して前記機器制御部へ通知する手順と、
を有することを特徴とする情報処理方法。
【請求項７】
前記第１のアプリケーションプログラムは、前記表示要求において、前記設定情報と同じ構成で前記第１の画面に対する設定の初期値を受け付け、前記初期値が反映された状態で前記第１の画面を表示する、
ことを特徴とする請求項６記載の情報処理方法。
【請求項８】
前記第１のアプリケーションプログラムが、前記実行要求に応じ、前記処理を実行中であることを示す第２の画面を表示する手順、
を更に有することを特徴とする請求項６又は７記載の情報処理方法。
【請求項９】
前記第１のアプリケーションプログラムが、前記実行要求に対する応答として、前記処理によって生成されたデータの識別情報を前記第２のアプリケーションプログラムに通知する手順、
を更に有することを特徴とする請求項６乃至８いずれか一項記載の情報処理方法。
【請求項１０】
前記第１の画面は、スキャン設定画面であり、
前記設定内容を示す情報は、すくなくともスキャンの解像度及びファイル形式のいずれか一方を含む、
ことを特徴とする請求項６乃至９いずれか一項記載の情報処理方法。
【請求項１１】
機器を、
当該機器に対する処理の実行要求を受け付けるための第１のインタフェースを介して通知された設定情報に応じた処理を当該機器に実行させる機器制御部と、
第１のアプリケーションプログラムの機能に関する設定をユーザから受け付けるための第１の画面を表示し、前記第１の画面を介して受け付けた設定内容に基づく設定情報を、前記第１のインタフェースを介して前記機器制御部へ通知する前記第１のアプリケーションプログラムとして機能させ、
前記第１のアプリケーションプログラムは、
前記第１の画面の表示要求を、当該機器にインストールされた、前記機能を流用する第２のアプリケーションプログラムから第２のインタフェースを介して受け付けると、前記表示要求に対する応答として、前記第１の画面を介して受け付けた設定内容を示す情報を、前記第１のインタフェースを介して前記機器制御部に通知される設定情報と同じ構成で、前記第２のアプリケーションプログラムに通知し、
前記第２のアプリケーションプログラムに通知された前記設定内容を示す情報と共に前記処理の実行要求を、前記第２のアプリケーションプログラムから前記第２のインタフェースを介して受け付けると、前記実行要求において受け付けた前記設定内容を示す情報に基づく設定情報を、前記第１のインタフェースを介して前記機器制御部へ通知する、
ことを特徴とするプログラム。
【請求項１２】
前記第１のアプリケーションプログラムは、前記表示要求において、前記設定情報と同じ構成で前記第１の画面に対する設定の初期値を受け付け、前記初期値が反映された状態で前記第１の画面を表示する、
ことを特徴とする請求項１１記載のプログラム。
【請求項１３】
前記第１のアプリケーションプログラムは、前記実行要求に応じ、前記処理を実行中であることを示す第２の画面を表示する、
ことを特徴とする請求項１１又は１２記載のプログラム。
【請求項１４】
前記第１のアプリケーションプログラムは、前記実行要求に対する応答として、前記処理によって生成されたデータの識別情報を前記第２のアプリケーションプログラムに通知する、
ことを特徴とする請求項１１乃至１３いずれか一項記載のプログラム。
【請求項１５】
前記第１の画面は、スキャン設定画面であり、
前記設定内容を示す情報は、すくなくともスキャンの解像度及びファイル形式のいずれか一方を含む、
ことを特徴とする請求項１１乃至１４いずれか一項記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
画像形成装置やその他の機器において、その出荷後に、公開されたＡＰＩ（Application Program Interface）を利用して新たなアプリケーションプログラムの開発及びインストールが可能とされているものがある（例えば、特許文献１）。斯かるアプリケーションプログラムによって、機器の機能を様々なサービスと連携させることが可能となる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
このような機器については、多数の開発ベンダによって多数のアプリケーションプログラムが開発されることが、市場における競争力の向上の観点からも望ましい。そのような状況を導くためには、アプリケーションプログラムの開発工数の削減が重要である。すなわち、アプリケーションプログラムを比較的容易に実装できることが重要である。
【０００４】
本発明は、上記の点に鑑みてなされたものであって、機器に対するアプリケーションプログラムの実装を簡便化することを目的とする。
【課題を解決するための手段】
【０００５】
そこで上記課題を解決するため、機器は、当該機器に対する処理の実行要求を受け付けるための第１のインタフェースを介して通知された設定情報に応じた処理を当該機器に実行させる機器制御部と、第１のアプリケーションプログラムの機能に関する設定をユーザから受け付けるための第１の画面を表示し、前記第１の画面を介して受け付けた設定内容に基づく設定情報を、前記第１のインタフェースを介して前記機器制御部へ通知する前記第１のアプリケーションプログラムとを有し、前記第１のアプリケーションプログラムは、前記第１の画面の表示要求を、当該機器にインストールされた、前記機能を流用する第２のアプリケーションプログラムから第２のインタフェースを介して受け付けると、前記表示要求に対する応答として、前記第１の画面を介して受け付けた設定内容を示す情報を、前記第１のインタフェースを介して前記機器制御部に通知される設定情報と同じ構成で、前記第２のアプリケーションプログラムに通知し、前記第２のアプリケーションプログラムに通知された前記設定内容を示す情報と共に前記処理の実行要求を、前記第２のアプリケーションプログラムから前記第２のインタフェースを介して受け付けると、前記実行要求において受け付けた前記設定内容を示す情報に基づく設定情報を、前記第１のインタフェースを介して前記機器制御部へ通知する。
【発明の効果】
【０００６】
機器に対するアプリケーションプログラムの実装を簡便化することができる。
【図面の簡単な説明】
【０００７】
【図１】第１の実施の形態における情報処理システムの構成例を示す図である。
【図２】第１の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図３】第１の実施の形態における情報処理端末のハードウェア構成例を示す図である。
【図４】第１の実施の形態における情報処理システムの機能構成例を示す図である。
【図５】スキャン配信アプリに関して実行される処理手順の一例を説明するためのシーケンス図である。
【図６】スキャンに関する能力情報の一例を示す図である。
【図７】スキャン配信アプリのメイン画面の表示例を示す図である。
【図８】スキャン設定画面の表示例を示す図である。
【図９】スキャン中画面の表示例を示す図である。
【図１０】本発明の実施の形態において実現される状況を説明するための図である。
【図１１】第２の実施の形態における画像形成装置の機能構成例を示す図である。
【発明を実施するための形態】
【０００８】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、第１の実施の形態における情報処理システムの構成例を示す図である。図１に示される情報処理システム１において、画像形成装置１０は、情報処理端末２０とネットワークを介して接続される。画像形成装置１０と情報処理端末２０との通信は、例えば、ＵＳＢ（Universal Serial Bus）、Ｂｌｕｅｔｏｏｔｈ（登録商標）若しくは赤外線通信等の近距離無線通信、又はＬＡＮ（有線又は無線の別は問わない）等のネットワークを介して行われる。
【０００９】
画像形成装置１０は、機器の一例であり、印刷、スキャン、コピー、及びＦＡＸ送受信等のうちの２以上の機能を一台の筐体によって実現する複合機である。但し、いずれか一つの機能を有する機器が画像形成装置１０として用いられてもよい。また、プロジェクタ、テレビ会議システム、又はデジタルカメラ等の機器が、画像形成装置１０の代わりに用いられてもよい。
【００１０】
情報処理端末２０は、例えば、スマートフォンやタブレット型端末等、単独で完結した情報処理を実行可能な電子機器である。本実施の形態において、情報処理端末２０は、画像形成装置１０の操作パネル（操作部）として機能する。
【００１１】
情報処理端末２０は、例えば、画像形成装置１０の所定の位置に固定されて設置される。したがって、情報処理端末２０及び画像形成装置１０とは、一台の装置として把握されてもよい。または、情報処理端末２０は、画像形成装置１０から取り外し可能（分離可能）であってもよい。
【００１２】
図２は、第１の実施の形態における画像形成装置のハードウェア構成例を示す図である。図２において、画像形成装置１０は、コントローラ１１、スキャナ１２、プリンタ１３、モデム１４、端末インタフェース１５、ネットワークインタフェース１６、及びＳＤカードスロット１７等のハードウェアを有する。
【００１３】
コントローラ１１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、ＨＤＤ１１４、及びＮＶＲＡＭ１１５等を有する。ＲＯＭ１１３には、各種のプログラムやプログラムによって利用されるデータ等が記憶されている。ＲＡＭ１１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１１１は、ＲＡＭ１１２にロードされたプログラムを処理することにより、各種の機能を実現する。ＨＤＤ１１４には、プログラムやプログラムが利用する各種のデータ等が記憶される。ＮＶＲＡＭ１１５には、各種の設定情報等が記憶される。
【００１４】
スキャナ１２は、原稿より画像データを読み取るためのハードウェア（画像読取手段）である。プリンタ１３は、印刷データを印刷用紙に印刷するためのハードウェア（印刷手段）である。モデム１４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。端末インタフェース１５は、情報処理端末２０と通信（接続）するためのインタフェースである。例えば、端末インタフェース１５は、ＵＳＢインタフェースでもよいし、近距離無線通信のためのハードウェアでもよい。または、端末インタフェース１５は、ＬＡＮ等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアでもよい。ネットワークインタフェース１６は、ＬＡＮ等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。ＳＤカードスロット１７は、ＳＤカード８０に記憶されたプログラムを読み取るために利用される。すなわち、画像形成装置１０では、ＲＯＭ１１３に記憶されたプログラムだけでなく、ＳＤカード８０に記憶されたプログラムもＲＡＭ１１２にロードされ、実行されうる。なお、他の記録媒体（例えば、ＣＤ−ＲＯＭ又はＵＳＢ（Universal Serial Bus）メモリ等）によってＳＤカード８０が代替されてもよい。すなわち、ＳＤカード８０の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、ＳＤカードスロット１７は、記録媒体の種類に応じたハードウェアによって代替されればよい。
【００１５】
図３は、第１の実施の形態における情報処理端末のハードウェア構成例を示す図である。図３において、情報処理端末２０は、ＣＰＵ２０１、メモリ２０２、補助記憶装置２０３、タッチパネル２０４、無線通信装置２０５、及び機器インタフェース２０６等を有する。
【００１６】
補助記憶装置２０３は、情報処理端末２０にインストールされたプログラム等を記憶する。メモリ２０２は、プログラムの起動指示があった場合に、補助記憶装置２０３からプログラムを読み出して記憶する。ＣＰＵ２０１は、メモリ２０２に記憶されたプログラムに従って情報処理端末２０に係る機能を実現する。
【００１７】
タッチパネル２０４は、入力機能と表示機能との双方を備えた電子部品であり、情報の表示や、ユーザからの入力の受け付け等を行う。タッチパネル２０４は、表示装置２１１及び入力装置２１２等を含む。
【００１８】
表示装置２１１は、液晶ディスプレイ等であり、タッチパネル２０４の表示機能を担う。入力装置２１２は、表示装置２１１に対する接触物の接触を検出するセンサを含む電子部品である。接触物の接触の検出方式は、静電方式、抵抗膜方式、又は光学方式等、公知の方式のいずれであってもよい。なお、接触物とは、タッチパネル２０４の接触面（表面）に接触する物体をいう。斯かる物体の一例として、ユーザの指や専用又は一般のペン等が挙げられる。
【００１９】
無線通信装置２０５は、無線ＬＡＮ（Local Area Network）又は移動体通信網等における通信を行うために必要とされるアンテナ等の電子部品である。機器インタフェース２０６は、画像形成装置１０と通信するためのインタフェースである。すなわち、機器インタフェース２０６は、端末インタフェース１５に対応した形態によって、画像形成装置１０との通信を行う。
【００２０】
図４は、第１の実施の形態における情報処理システムの機能構成例を示す図である。図４において、情報処理端末２０は、端末プラットフォーム部２１、スキャンアプリ２２ａ、スキャンアプリ２２ｂ、及びスキャン配信アプリ２３等を有する。
【００２１】
端末プラットフォーム部２１は、情報処理端末２０にインストールされるアプリケーションプログラムに対するプラットフォームとして機能する。端末プラットフォーム部２１は、例えば、情報処理端末２０にインストールされた１以上のプログラムがＣＰＵ２０１に実行させる処理により実現される。なお、端末プラットフォーム部２１は、情報処理端末２０のＯＳ（Operating System）によって実現されてもよい。
【００２２】
スキャンアプリ２２ａ、スキャンアプリ２２ｂ、及びスキャン配信アプリ２３は、情報処理端末２０にインストールされたアプリケーションプログラムの一例である。
【００２３】
スキャンアプリ２２ａ及びスキャンアプリ２２ｂは、原稿のスキャンを画像形成装置１０に実行させるアプリケーションプログラムである。例えば、スキャンアプリ２２ａ及びスキャンアプリ２２ｂは、情報処理端末２０に予めインストールされる標準的なアプリケーションプログラムであってもよい。
【００２４】
なお、スキャンアプリ２２ｂは、例えば、スキャンに関する設定（以下、「スキャン設定」という。）に関してスキャンアプリ２２ａよりも詳細な設定が可能なアプリケーションプログラムであってもよい。換言すれば、スキャンアプリ２２ａは、スキャンアプリ２２ｂよりも簡易な操作でスキャンを実行可能なアプリケーションプログラムであってもよい。又は、スキャンアプリ２２ｂは、スキャンアプリ２２ａの新バージョンのアプリケーションプログラムであってもよい。例えば、スキャンアプリ２２ｂは、スキャンアプリ２２ａよりも詳細なスキャン設定が可能なように機能強化が図られたバージョンであってもよい。この場合、スキャンアプリ２２ａとスキャンアプリ２２ｂとは、必ずしも情報処理端末２０において同時に存在しなくてもよい。例えば、スキャンアプリ２２ａがアンインストール後にスキャンアプリ２２ｂがインストールされてもよい。
【００２５】
いずれの場合においても、スキャンアプリ２２ａのＧＵＩ（Graphical User Interface）（例えば、設定画面）と、スキャンアプリ２２ｂのＧＵＩとは異なることとする。なお、スキャンアプリ２２ａとスキャンアプリ２２ｂとを区別しない場合、単に、「スキャンアプリ２２」という。
【００２６】
スキャン配信アプリ２３は、原稿のスキャンと、スキャンされた画像データの配信とを画像形成装置１０に実行させるアプリケーションプログラムである。なお、スキャン配信アプリ２３は、例えば、サードベンダによって開発され、ユーザによって（又はユーザからの依頼を受けたサービスエンジニア等によって）、情報処理端末２０にインストールされるアプリケーションプログラムであってもよい。
【００２７】
なお、本実施の形態において、スキャンアプリ２２は、他のアプリケーションプログラム（本実施の形態では、スキャン配信アプリ２３）からの要求を受け付けるためのインタフェースを有する。例えば、スキャンアプリ２２は、スキャンの設定画面（以下、「スキャン設定画面」という。）の表示要求を受け付けるためのインタフェースや、スキャンの実行要求を受け付けるためのインタフェース等を有する。スキャン配信アプリ２３は、これらのインタフェースを呼び出すことで、スキャンアプリ２２の機能を流用することができる。その結果、スキャン配信アプリ２３について、スキャン設定画面に関する実装や、スキャンジョブの実行中に表示される画面（以下、「スキャン中画面」という。）に関する実装を省略することができる。
【００２８】
一方、画像形成装置１０は、機器制御部１２１を有する。機器制御部１２１は、画像形成装置１０にインストールされた１以上のプログラムが、ＣＰＵ１１１に実行させる処理によって実現される。機器制御部１２１は、機器ＡＰＩ１２２を有し、機器ＡＰＩ１２２を介して入力される要求に応じた処理を画像形成装置２０に実行させる。機器ＡＰＩ１２２は、情報処理端末２０にインストールされたアプリケーションプログラムからの要求を受け付けるためのＡＰＩである。すなわち、情報処理端末２０にインストールされた各アプリケーションプログラムは、端末プラットフォーム部２１を介して、機器ＡＰＩ１２２を透過的に呼び出すことができる。本実施の形態において、機器ＡＰＩ１２２は、ＷｅｂＡＰＩ（Application Program Interface。以下同じ）として実現される。すなわち、機器ＡＰＩ１２２は、ＨＴＴＰ（HyperText Transfer Protocol）通信を利用したＡＰＩとして実装される。この場合、ＨＴＴＰリクエストに指定されるＵＲＬ（Uniform Resource Locator）によって、要求の種類又は内容が示される。但し、機器ＡＰＩ１２２を実現するための通信プロトコルは、ＨＴＴＰに限定されない。他の通信プロトコルが用いられて機器ＡＰＩ１２２が実現されてもよい。
【００２９】
以下、情報処理システム１において実行される処理手順について説明する。図５は、スキャン配信アプリに関して実行される処理手順の一例を説明するためのシーケンス図である。図５では、スキャンアプリ２２ａが、スキャン配信アプリ２３によって利用される例について説明する。
【００３０】
図５の処理手順の開始時には、スキャン配信アプリ２３及びスキャンアプリ２２ａのそれぞれのアイコンを含むホーム画面が表示装置２１１に表示されている。例えば、スキャン配信アプリ２３のアイコンがユーザによってタッチ等されることにより、スキャン配信アプリ２３の起動指示が入力されると（Ｓ１０１）、スキャン配信アプリ２３は、スキャンに関する能力情報（capability）の取得要求を、機器ＡＰＩ１２２を介して機器制御部１２１へ送信する（Ｓ１０２）。スキャンに関する能力情報とは、スキャンに関する設定情報の構成を示す情報をいう。設定情報の構成とは、設定情報を構成する項目（設定項目）の一覧と、各設定項目について設定可能な値等を示す情報である。すなわち、スキャンに関する能力情報とは、機器ＡＰＩ１２２を介してスキャンに関して設定可能な情報がどのようなものであるのかを示す情報をいう。
【００３１】
機器制御部１２１は、スキャンに関する能力情報を機器ＡＰＩ１２２の応答として、スキャン配信アプリ２３に返信する（Ｓ１０３）。
【００３２】
図６は、スキャンに関する能力情報の一例を示す図である。図６に示されるように、能力情報には、機器ＡＰＩ１２２を介してスキャンに関して設定可能な設定項目ごとに、設定可能値及び初期値等を含む。設定可能値は、設定項目に対して設定可能な値の一覧又は設定可能な値の範囲を示す情報である。初期値は、設定項目に対する初期値である。すなわち、初期値は、設定項目に対して値が設定されない場合に採用される値であり、例えば、数字、文字列等の情報を含む。また、初期値は、デフォルト値として用いられてもよい。
【００３３】
なお、通常、能力情報は、機器ＡＰＩ１２２の仕様として公開される。したがって、必ずしも能力情報の取得は行われなくてもよい。例えば、機器制御部１２１のバージョンアップ等によって、新たな設定項目が追加される場合に、当該新たな設定項目についても動的に処理を行いたい場合に、能力情報の取得は有効である。
【００３４】
続いて、スキャン配信アプリ２３は、自らのメイン画面を表示装置２１１に表示する（Ｓ１０４）。
【００３５】
図７は、スキャン配信アプリのメイン画面の表示例を示す図である。図７において、メイン画面５１０は、配信先フォルダボタン５１１、Ｓｃａｎ設定ボタン５１２、及びＳｃａｎ開始ボタン５１３等を含む。
【００３６】
配信先フォルダボタン５１１は、原稿からスキャンされた画像データ（以下、「スキャン画像」という。）の配信先の設定指示を受け付けるためのボタンである。Ｓｃａｎ設定ボタン５１２は、スキャンに関する設定指示を受け付けるためのボタンである。Ｓｃａｎ開始ボタン５１３は、スキャンの開始指示を受け付けるためのボタンである。
【００３７】
ユーザによって配信先フォルダボタン５１１が選択されると（Ｓ１０５）、スキャン配信アプリ２３は、配信先選択画面を表示装置２１１に表示する（Ｓ１０６）。配信先選択画面では、スキャン画像の配信先のフォルダの選択が可能とされている。なお、配信先選択画面については、スキャンアプリ２２ａには実装されていない。スキャンアプリ２２ａは、スキャン画像の配信という機能を有していないからである。したがって、本実施の形態において、配信先選択画面に関する実装は、スキャン配信アプリ２３に対して行われる必要が有る。
【００３８】
配信先選択画面を介して配信先が選択されると（Ｓ１０７）、スキャン配信アプリ２３は、選択された配信先をメモリ２０２に記憶し、配信先選択画面を非表示とする。その結果、メイン画面５１０が表示される。
【００３９】
続いて、ユーザによってＳｃａｎ設定ボタン５１２が選択されると（Ｓ１０８）、スキャン配信アプリ２３は、スキャンアプリ２２ａが公開しているインタフェースを介して、スキャン設定画面の表示要求をスキャンアプリ２２ａに対して入力する（Ｓ１０９）。当該表示要求には、スキャンに関する設定情報の初期値（以下、「設定初期値」という。）の指定が可能である。設定初期値は、スキャン設定画面の表示時における初期値である。したがって、設定初期値は能力情報における初期値と同じでなくてもよい。すなわち、スキャン配信アプリ２３にとっての推奨値が、設定初期値とされてもよい。
【００４０】
また、当該表示要求には、能力情報と同じ構成で、設定初期値の指定が可能とされる。能力情報と同じ構成とは、機器ＡＰＩ１２２に関して設定可能な設定情報と、設定項目の構成が同じであることをいう。すなわち、後述より明らかなように、スキャン設定画面において設定可能な設定項目は、能力情報において定義されている全ての設定項目ではない。スキャンアプリ２２ａは、簡易な操作の提供を目的とするため、設定可能な設定項目が、必要最小限に限られているからである。それにも関わらず、当該表示要求では、スキャン設定画面に依存した構成（すなわち、スキャン設定画面において設定可能な設定項目に限定された構成）ではなく、能力情報を構成する全ての設定項目に関して設定初期値の設定が可能とされる。このことによる利益については後述される。なお、当該表示要求に対して指定される設定初期値の書式が、機器ＡＰＩ１２２を介したスキャン設定の設定情報の設定時における書式と同じことまでは要求されなくてもよい。
【００４１】
更に、当該表示要求では、スキャンアプリ２２のスキャン設定画面の構成要素（表示部品）ごとに、表示制御の設定が可能とされてもよい。表示制御の設定とは、例えば、非表示又は操作不能の設定をいう。非表示とは、構成要素が完全に表示されない状態をいう。操作不能とは、構成要素は表示されるが、グレーアウト等されて操作できない状態をいう。例えば、スキャン設定画面に、スキャンの開始指示を受け付けるためのボタンが有る場合に、当該ボタンについて非表示の設定を行うことが考えられる。そうすることで、当該ボタンが押下されて、スキャンアプリ２２ａが動作してしまうことを防止することができる。スキャン設定画面の表示中では、スキャンアプリ２２ａに制御が移っているため、仮に、当該ボタンが押下された場合、当該ボタンに応じた処理は、スキャンアプリ２２ａによって実行されてしまうからである。
【００４２】
スキャン設定画面の表示要求に応じ、スキャンアプリ２２ａは、スキャン設定画面を生成する（Ｓ１１０）。この際、スキャンアプリ２２ａは、スキャン設定画面において設定可能な設定項目については、当該表示要求に指定された設定初期値が反映された状態とする。また、スキャン設定画面のいずれかの構成要素について表示制御の設定が指定されている場合、当該構成要素は、非表示又は操作不能の状態、すなわち、操作を受け付けないような状態とされる。
【００４３】
続いて、スキャンアプリ２２ａは、スキャン設定画面を表示装置２１１に表示する（Ｓ１１１）。
【００４４】
図８は、スキャン設定画面の表示例を示す図である。スキャン設定画面５２０は、スキャンアプリ２２ａが起動された場合に、スキャンアプリ２２ａが表示する設定画面である。図８に示されるように、スキャン設定画面５２０では、解像度やファイル形式についてのみの設定が可能とされている。その他の設定項目については、スキャンアプリ２２ａにとっての既定値が採用される。
【００４５】
スキャン設定画面５２０において、必要に応じて解像度やファイル形式がユーザによって選択され、設定ボタン５２１が選択されると（Ｓ１１２）、スキャンアプリ２２ａは、スキャン設定画面５２０を非表示とする。その結果、スキャン配信アプリ２３のメイン画面５１０が表示される。
【００４６】
続いて、スキャンアプリ２２ａは、スキャン設定画面５２０の表示要求に対する応答として、スキャン設定画面５２０に対する設定内容をスキャン配信アプリ２３に通知する（Ｓ１１３）。当該設定内容は、ステップＳ１０９におけるスキャン設定画面５２０の表示要求に指定された設定初期値に対して、スキャン設定画面５２０における設定結果が上書きされたものである。すなわち、当該設定内容は、能力情報を構成する全ての設定項目に関して設定値を含むものである。なお、スキャン設定画面５２０では、解像度とファイル形式との設定が可能であるため、これら２つの設定項目の設定値が、設定初期値に対して上書きされた結果が、当該設定内容になりうる。また、同様の技術を用いて、これら以外の設定項目も表示内容に任意に含めることで、当該設定項目に対する設定値の設定が可能とされてもよい。
【００４７】
続いて、ユーザによって、メイン画面５１０のＳｃａｎ開始ボタン５１３が選択されると（Ｓ１１４）、スキャン配信アプリ２３は、スキャンアプリ２２ａが公開しているインタフェースを介して、スキャンの実行要求をスキャンアプリ２２ａに対して入力する（Ｓ１１５）。この際、当該実行要求には、ステップＳ１１３において通知された設定内容がそのまま指定される。すなわち、当該実行要求において指定される設定内容についても、スキャン設定画面５２０において設定可能な設定項目に拘わらず、機器ＡＰＩ１２２に関して設定可能な設定情報と同じ構成を有する。但し、ステップＳ１１５において通知された設定内容を構成する設定項目のうちのいずれかの設定値を、スキャン配信アプリ２３が強制的に変更してもよい。
【００４８】
続いて、スキャンアプリ２２ａは、当該設定内容に基づく設定情報を指定して、機器ＡＰＩ１２２を介してスキャンの実行要求を機器制御部１２１に送信する（Ｓ１１６）。当該設定内容に基づく設定情報とは、スキャンアプリ２２ａが公開しているインタフェースに対する設定内容の書式と、機器ＡＰＩ１２２に対する設定情報の書式とが異なる場合、書式の変換が行われた後の設定情報をいう。両者の書式が共通する場合、ステップＳ１１５において指定された設定内容が、そのままステップＳ１１６における設定情報として指定されてもよい。
【００４９】
続いて、スキャンアプリ２２ａは、スキャン中画面を表示装置２１１に表示する（Ｓ１１７）。
【００５０】
図９は、スキャン中画面の表示例を示す図である。図９において、スキャン中画面は、スキャン中であることをユーザに通知するためのメッセージと、キャンセルボタン５３１とを含む。キャンセルボタン５３１は、スキャンのキャンセル指示を受け付けるためのボタンである。
【００５１】
一方、スキャンの実行要求を受信した機器制御部１２１は、画像形成装置１０を制御して原稿からの画像データのスキャン（読み取り）を実行する（Ｓ１１８）。当該スキャンは、ステップＳ１１６において受信された実行要求に指定されている設定情報に応じた態様で行われる。その結果、当該設定情報に応じたスキャン画像が生成される。スキャンが完了すると、機器制御部１２１は、スキャンの完了を通知するための応答を、スキャンの実行要求元のスキャンアプリ２２ａに対して送信する（Ｓ１１９）。
【００５２】
スキャンアプリ２２ａは、当該応答を受信すると、スキャン中画面５３０を非表示にする（Ｓ１２０）。続いて、スキャンアプリ２２ａは、ステップＳ１１５におけるスキャンの実行要求に対する応答をスキャン配信アプリ２３に通知する（Ｓ１２１）。
【００５３】
続いて、スキャン配信アプリ２３は、スキャンによって生成されたスキャン画像について、配信先選択画面を介して選択された配信先への配信処理を実行する（Ｓ１２２）。なお、スキャン画像は、ステップＳ１２１の応答においてスキャン配信アプリ２３に伝達されてもよい。または、ステップＳ１２１の応答では、画像形成装置１０内におけるスキャン画像に対する識別情報が通知されてもよい。スキャン配信アプリ２３は、機器ＡＰＩ１２２を介して、当該識別情報を指定して画像データの配信要求を機器制御部１２１に送信してもよい。機器制御部１２１は、当該識別情報に係る画像データ（スキャン画像）について、配信を実行してもよい。当該識別情報は、ファイルパス名であってもよいし、ＩＤ等であってもよい。
【００５４】
なお、スキャン中画面５３０において、キャンセルボタン５３１が選択された場合、スキャンアプリ２２ａは、スキャンのキャンセル要求を、機器ＡＰＩ１２２を介して機器制御部１２１に送信する。その結果、スキャンは中止される。また、スキャンアプリ２２ａは、ステップ１２１において、スキャンの中止をスキャン配信アプリ２３に通知する。この場合、スキャン配信アプリ２３は、配信を実行せずに終了する。
【００５５】
図５の例によれば、スキャン配信アプリ２３は、スキャン設定画面５２０やスキャン中画面５３０に関する実装を省略することができる。一般的に、画面の実装工数は大きいため、スキャン配信アプリ２３の実装工数を削減することができる。
【００５６】
また、スキャンアプリ２２ａが公開しているインタフェースにおいて、スキャン設定の設定情報に関する構成は、機器ＡＰＩ１２２において定義されている構成と同じである。換言すれば、当該設定情報に関する構成は、スキャンアプリ２２ａのスキャン設定画面５２０には依存しない。その結果、スキャンアプリ２２ａの機能強化によって、スキャン設定画面５２０の構成が変化した場合であっても、スキャン設定画面５２０の構成が変化は、当該インタフェースに影響しない。すなわち、スキャンアプリ２２ａは、スキャン設定画面５２０の構成が変化した場合であっても、自らが公開しているインタフェースの互換性を確保することができる。その結果、スキャン配信アプリ２３は、改変されなくても変更後のスキャン設定画面５２０を流用することができる。
【００５７】
なお、スキャンアプリ２２ｂについても、スキャンアプリ２２ａと同じインタフェースを公開する。また、スキャンアプリ２２ｂについても、スキャン設定画面の表示要求において指定可能な設定初期値の構成や、スキャンの実行要求において指定可能な設定内容の構成等は、スキャンに関して機器ＡＰＩ１２２において定義されている設定情報の構成と同じである。したがって、スキャンアプリ２２ｂによってスキャンアプリ２２ａが置き換えられた場合であっても、スキャン配信アプリ２３は、図５と同様の処理手順によって、スキャンアプリ２２ｂのスキャン設定画面やスキャン中画面を流用することができる。
【００５８】
すなわち、本実施の形態によれば、図１０に示されるような状況が実現される。図１０は、本発明の実施の形態において実現される状況を説明するための図である。
【００５９】
図１０において、楕円ｅ１によって括られた部分は、スキャンアプリ２２ａによる機器ＡＰＩ１２２の呼び出しと、スキャンアプリ２２ｂによる機器ＡＰＩ１２２の呼び出しとを示す。また、楕円ｅ２によって括られた部分は、スキャン配信アプリ２３によるスキャンアプリ２２ａ又はスキャンアプリ２２ｂのインタフェースの呼び出しを示す。
【００６０】
スキャンアプリ２２ａに関して、楕円ｅ２におけるスキャン設定に関する設定情報（スキャン設定画面５２０の設定内容）の構成は、楕円ｅ１によって示される機器ＡＰＩ１２２におけるスキャン設定に関する設定情報の構成に依存する。また、スキャンアプリ２２ｂに関して、楕円ｅ２におけるスキャン設定に関する設定情報（スキャン設定画面の設定内容）の構成は、楕円ｅ１によって示される機器ＡＰＩ１２２におけるスキャン設定に関する設定情報の構成に依存する。そして、楕円ｅ１において、スキャンアプリ２２ａとスキャンアプリ２２ｂとは、共通の機器ＡＰＩ１２２を呼び出す。したがって、楕円ｅ２において、各スキャンアプリ２２のインタフェースにおけるスキャン設定に関する設定情報の構成は共通する。したがって、スキャン配信アプリ２３は、楕円ｅ２によって括られているインタフェースを区別することなく呼び出すことができる。
【００６１】
したがって、本実施の形態によれば、アプリケーションプログラムの実装を簡便化することができる。
【００６２】
なお、スキャンアプリ２２ａとスキャンアプリ２２ｂとの双方がインストールされている場合、スキャン配信アプリ２３は、スキャン設定画面の表示要求についてはスキャンアプリ２２ａに入力し、スキャンの実行要求についてはスキャンアプリ２２ｂに入力してもよい。この場合、スキャン設定画面については、スキャンアプリ２２ａによって表示され、スキャン中画面については、スキャンアプリ２２ｂによって表示されることになる。
【００６３】
また、スキャンアプリ２２は、処理の中止要求を受け付けるためのインタフェースを公開してもよい。この場合、当該インタフェースが呼び出された場合、スキャンアプリ２２は、自らが実行中の処理を中止してもよい。例えば、スキャン配信アプリ２３は、ユーザのログアウトを検知した際や、何らかの異常を検知した際等に、当該インタフェースを呼び出してもよい。
【００６４】
また、アプリケーションプログラムの呼び出し関係の階層は、３階層以上であってもよい。例えば、本実施の形態であれば、スキャン配信アプリ２３が、スキャンアプリ２２と同様のインタフェースを公開してもよい。この場合、スキャン配信アプリ２３を利用するアプリケーションプログラムが、スキャン配信アプリ２３に対してスキャン設定画面の表示要求を入力すると、スキャン配信アプリ２３からスキャンアプリ２２に対してスキャン設定画面の表示要求が入力されてもよい。すなわち、スキャン配信アプリ２３を介してスキャンアプリ２２のＧＵＩが流用されてもよい。
【００６５】
なお、スキャンアプリ２２が公開するインタフェースは、関数又はメソッドとして実現されてもよいし、メッセージによって実現されてもよい。
【００６６】
又は、端末プラットフォーム部２１が、Ａｎｄｒｏｉｄ（登録商標）によって実現される場合、スキャンアプリ２２が公開するインタフェースは、インテント（「ｉｎｔｅｎｔ」）によって実現されてもよい。
【００６７】
この場合、スキャンアプリ２２ａ及びスキャンアプリ２２ｂのそれぞれには、スキャン設定画面に対するアクティビティ（Ａｃｔｉｖｉｔｙ）と、スキャン中画面に対するアクティビティとが実装されてもよい。ステップＳ１０９では、スキャン設定画面に対するアクティビティに対してインテントが送信され、ステップＳ１１５においては、スキャン中画面に対するアクティビティに対してインテントが送信されてもよい。
【００６８】
このように、特定のプラットフォームに依存したアプリケーション連携の機構を用いて、スキャンアプリ２２のインタフェースが実現されてもよい。
【００６９】
なお、本実施の形態では、スキャン機能に関するアプリケーションプログラムが例示されたが、各機器の他の機能に関するアプリケーションプログラムについて、本実施の形態が適用されてもよい。画像形成装置１０であれば、例えば、印刷やコピーに関するアプリケーションプログラムについて本実施の形態が適用されてもよい。
【００７０】
次に、第２の実施の形態について説明する。第２の実施の形態では第１の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第１の実施の形態と同様でもよい。
【００７１】
第１の実施の形態では、情報処理端末２０にインストールされるアプリケーションプログラムについて説明したが、第２の実施の形態では、画像形成装置１０に対してアプリケーションプログラムがインストールされる構成について説明する。
【００７２】
図１１は、第２の実施の形態における画像形成装置の機能構成例を示す図である。図１１中、図４と同一部分には同一符号を付し、その説明は省略する。
【００７３】
図４において、画像形成装置１０は、更に、機器プラットフォーム部１２３、スキャンアプリ１２４ａ、スキャンアプリ１２４ｂ、及びスキャン配信アプリ１２５等を有する。
【００７４】
機器プラットフォーム部１２３は、画像形成装置１０にインストールされるアプリケーションプログラムに対するプラットフォームとして機能する。機器プラットフォーム部１２３は、例えば、画像形成装置１０にインストールされた１以上のプログラムがＣＰＵ１１１に実行させる処理により実現される。
【００７５】
スキャンアプリ１２４ａ、スキャンアプリ１２４ｂ、及びスキャン配信アプリ１２５は、画像形成装置１０にインストールされるアプリケーションプログラムの一例である。スキャンアプリ１２４ａ、スキャンアプリ１２４ｂ、及びスキャン配信アプリ１２５のそれぞれは、順番に、図４におけるスキャンアプリ２２ａ、スキャンアプリ２２ｂ、又はスキャン配信アプリ２３と同様の処理を画像形成装置１０に実行させるアプリケーションプログラムである。
【００７６】
すなわち、スキャンアプリ１２４ａ及びスキャンアプリ１２４ｂ（以下、両者を区別しない場合「スキャンアプリ１２４」という。）は、他のアプリケーションプログラム（本実施の形態では、スキャン配信アプリ１２５）からの要求を受け付けるためのインタフェースを有する。例えば、スキャンアプリ１２４は、スキャン設定画面の表示要求を受け付けるためのインタフェースや、スキャンの実行要求を受け付けるためのインタフェース等を有する。スキャン配信アプリ１２５は、これらのインタフェースを呼び出すことで、スキャンアプリ１２４の機能を流用することができる。その結果、スキャン配信アプリ１２５について、スキャン設定画面に関する実装や、スキャンジョブの実行中に表示されるスキャン中画面という。）に関する実装を省略することができる。
【００７７】
なお、第２の実施の形態において実行される処理手順は、図５と同様でよい。この場合、図５におけるスキャン配信アプリ２３、スキャンアプリ２２ａは、それぞれ、スキャン配信アプリ１２５、スキャンアプリ１２４ａに置き換えられる。
【００７８】
また、第２の実施の形態において、画像形成装置１０の操作パネルは、情報処理端末２０でなくてもよい。例えば、当該操作パネルにはアプリケーションプログラムのインストールが可能でなくてもよい。
【００７９】
なお、上記各実施の形態において、スキャンアプリ２２ａは、アプリケーション部の一例である。機器ＡＰＩ１２２は、第１のインタフェースの一例である。スキャンアプリ２２ａが公開するインタフェースは、第２のインタフェースの一例である。スキャン設定画面５２０は、第１の画面の一例である。スキャン中画面５３０は、第２の画面の一例である。
【００８０】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００８１】
１            情報処理システム
１０          画像形成装置
１１          コントローラ
１２          スキャナ
１３          プリンタ
１４          モデム
１５          端末インタフェース
１６          ネットワークインタフェース
１７          ＳＤカードスロット
２０          情報処理端末
２１          端末プラットフォーム部
２２ａ        スキャンアプリ
２２ｂ        スキャンアプリ
２３          スキャン配信アプリ
１１１        ＣＰＵ
１１２        ＲＡＭ
１１３        ＲＯＭ
１１４        ＨＤＤ
１１５        ＮＶＲＡＭ
１２１        機器制御部
１２２        機器ＡＰＩ
１２３        機器プラットフォーム部
１２４ａ      スキャンアプリ
１２４ｂ      スキャンアプリ
１２５        スキャン配信アプリ
２０１        ＣＰＵ
２０２        メモリ
２０３        補助記憶装置
２０４        タッチパネル
２０５        無線通信装置
２０６        機器インタフェース
２１１        表示装置
２１２        入力装置
【先行技術文献】
【特許文献】
【００８２】
【特許文献１】特開２０１１−８７３２７号公報
【図１】
0006638300.tif 000002
【図２】
0006638300.tif 000003
【図３】
0006638300.tif 000004
【図４】
0006638300.tif 000005
【図５】
0006638300.tif 000006
【図６】
0006638300.tif 000007
【図７】
0006638300.tif 000008
【図８】
0006638300.tif 000009
【図９】
0006638300.tif 000010
【図１０】
0006638300.tif 000011
【図１１】
0006638300.tif 000012