(57)【要約】【課題】既定値を所望の値に変更でき、より簡単に機器のアプリケーションの開発を可能とする。【解決手段】ＭＦＰ１は、決められている制御手順を機器制御フレームワーク４２として、アプリケーションの開発者に提供する。これにより、開発者は、ＭＦＰ１の仕様を詳細に把握せずとも、予め決められている一連の制御手順を容易に実装でき、アプリケーションの開発を、より簡単に行うことができる。また、属性制御部５３、画面表示制御部５４、および後処理制御部５５により、所望の動作パラメータ（属性）、表示画面の画面構成、および、後処理を外部ファイルとして定義可能とする。これにより、一連の動作パラメータ、表示画面の画面構成、および、後処理を自由にカスタマイズ可能とすることができる。【選択図】図２
2015231159.tif 000002
【特許請求の範囲】
【請求項１】
機器本体を制御するアプリケーションの動作属性情報、または、前記動作属性情報を変更した変更情報を記憶部に記憶制御する属性制御部と、
前記記憶部に前記変更情報が記憶されていた場合、前記変更情報に対応する前記アプリケーションの動作で前記機器本体の動作を制御し、前記記憶部に前記変更情報が記憶されていない場合、前記動作属性情報に対応する前記アプリケーションの動作で前記機器本体の動作を制御する制御部と
を有する操作部を備えた機器。
【請求項２】
既定の初期画面構成に対応する初期画面構成情報、または、定義された定義画面構成に対応する定義画面構成情報を前記記憶部に記憶制御する画面表示制御部を備え、
前記制御部は、前記記憶部に前記定義画面構成情報が記憶されていた場合、前記定義画面構成情報に対応する表示画面を表示部に表示制御し、前記記憶部に前記定義画面構成情報が記憶されていない場合、前記初期画面構成情報に対応する表示画面を前記表示部に表示制御すること
を特徴とする請求項１に記載の操作部を備えた機器。
【請求項３】
前記画面表示制御部は、前記アプリケーションを介して関連付けられた画面コンポーネントおよび前記動作属性情報を前記記憶部に記憶制御し、
前記制御部は、関連付けられた前記画面コンポーネントおよび前記動作属性情報に対応する表示画面を前記表示部に表示制御すること
を特徴とする請求項２に記載の操作部を備えた機器。
【請求項４】
前記機器本体の定義された後処理に対応する後処理情報を前記記憶部に記憶制御する後処理制御部を備え、
前記制御部は、前記機器本体の前記アプリケーションによる動作が完了した後に、前記記憶部に記憶されている前記後処理情報に対応する後処理を行うように前記機器本体を制御すること
を特徴とする請求項１から請求項３のうち、いずれか一項に記載の操作部を備えた機器。
【請求項５】
前記機器本体は、Ｗｅｂアプリケーションインタフェースを有し、
前記操作部の前記制御部は、前記Ｗｅｂアプリケーションインタフェースを介して前記機器本体と通信を行い、前記機器本体を制御すること
を特徴とする請求項１から請求項４のうち、いずれか一項に記載の操作部を備えた機器。
【請求項６】
前記動作属性情報の既定情報または初期情報として、利用頻度の高い組み合わせに対応する動作属性情報が設定されていること
を特徴とする請求項１から請求項５のうち、いずれか一項に記載の操作部を備えた機器。
【請求項７】
機器本体を制御するアプリケーションの動作属性情報、または、前記動作属性情報を変更した変更情報を記憶部に記憶制御する属性制御部と、
前記記憶部に前記変更情報が記憶されていた場合、前記変更情報に対応する前記アプリケーションの動作で前記機器本体の動作を制御し、前記記憶部に前記変更情報が記憶されていない場合、前記動作属性情報に対応する前記アプリケーションの動作で前記機器本体の動作を制御する制御部と
を備えた操作部と、
前記操作部で操作される前記機器本体と
を有する情報処理システム。
【請求項８】
既定の初期画面構成に対応する初期画面構成情報、または、定義された定義画面構成に対応する定義画面構成情報を前記記憶部に記憶制御する画面表示制御部を備え、
前記制御部は、前記記憶部に前記定義画面構成情報が記憶されていた場合、前記定義画面構成情報に対応する表示画面を表示部に表示制御し、前記記憶部に前記定義画面構成情報が記憶されていない場合、前記初期画面構成情報に対応する表示画面を前記表示部に表示制御すること
を特徴とする請求項７に記載の情報処理システム。
【請求項９】
前記画面表示制御部は、前記アプリケーションを介して関連付けられた画面コンポーネントおよび前記動作属性情報を前記記憶部に記憶制御し、
前記制御部は、関連付けられた前記画面コンポーネントおよび前記動作属性情報に対応する表示画面を前記表示部に表示制御すること
を特徴とする請求項８に記載の情報処理システム。
【請求項１０】
前記機器本体の定義された後処理に対応する後処理情報を前記記憶部に記憶制御する後処理制御部を備え、
前記制御部は、前記機器本体の前記アプリケーションによる動作が完了した後に、前記記憶部に記憶されている前記後処理情報に対応する後処理を行うように前記機器本体を制御すること
を特徴とする請求項７から請求項９のうち、いずれか一項に記載の情報処理システム。
【請求項１１】
前記機器本体は、Ｗｅｂアプリケーションインタフェースを有し、
前記操作部の前記制御部は、前記Ｗｅｂアプリケーションインタフェースを介して前記機器本体と通信を行い、前記機器本体を制御すること
を特徴とする請求項７から請求項１０のうち、いずれか一項に記載の情報処理システム。
【請求項１２】
前記動作属性情報の既定情報または初期情報として、利用頻度の高い組み合わせに対応する動作属性情報が設定されていること
を特徴とする請求項７から請求項１１のうち、いずれか一項に記載の情報処理システム。
【請求項１３】
コンピュータを、
機器本体を制御するアプリケーションの動作属性情報、または、前記動作属性情報を変更した変更情報を記憶部に記憶制御する属性制御部と、
前記記憶部に前記変更情報が記憶されていた場合、前記変更情報に対応する前記アプリケーションの動作で前記機器本体の動作を制御し、前記記憶部に前記変更情報が記憶されていない場合、前記動作属性情報に対応する前記アプリケーションの動作で前記機器本体の動作を制御する制御部として機能させること
を特徴とする情報処理プログラム。
【請求項１４】
前記コンピュータを、既定の初期画面構成に対応する初期画面構成情報、または、定義された定義画面構成に対応する定義画面構成情報を前記記憶部に記憶制御する画面表示制御部として、さらに機能させ、
前記制御部は、前記記憶部に前記定義画面構成情報が記憶されていた場合、前記定義画面構成情報に対応する表示画面を表示部に表示制御し、前記記憶部に前記定義画面構成情報が記憶されていない場合、前記初期画面構成情報に対応する表示画面を前記表示部に表示制御すること
を特徴とする請求項１３に記載の情報処理プログラム。
【請求項１５】
前記画面表示制御部は、前記アプリケーションを介して関連付けられた画面コンポーネントおよび前記動作属性情報を前記記憶部に記憶制御し、
前記制御部は、関連付けられた前記画面コンポーネントおよび前記動作属性情報に対応する表示画面を前記表示部に表示制御すること
を特徴とする請求項１４に記載の情報処理プログラム。
【請求項１６】
前記コンピュータを、前記機器本体の定義された後処理に対応する後処理情報を前記記憶部に記憶制御する後処理制御部として、さらに機能させ、
前記制御部は、前記機器本体の前記アプリケーションによる動作が完了した後に、前記記憶部に記憶されている前記後処理情報に対応する後処理を行うように前記機器本体を制御すること
を特徴とする請求項１３から請求項１５のうち、いずれか一項に記載の情報処理プログラム。
【請求項１７】
前記機器本体は、Ｗｅｂアプリケーションインタフェースを有し、
前記制御部は、前記Ｗｅｂアプリケーションインタフェースを介して前記機器本体と通信を行い、前記機器本体を制御すること
を特徴とする請求項１３から請求項１６のうち、いずれか一項に記載の情報処理プログラム。
【請求項１８】
前記動作属性情報の既定情報または初期情報として、利用頻度の高い組み合わせに対応する動作属性情報が設定されていること
を特徴とする請求項１３から請求項１７のうち、いずれか一項に記載の情報処理プログラム。
【請求項１９】
属性制御部が、機器本体を制御するアプリケーションの動作属性情報、または、前記動作属性情報を変更した変更情報を記憶部に記憶制御する属性制御ステップと、
制御部が、前記記憶部に前記変更情報が記憶されていた場合、前記変更情報に対応する前記アプリケーションの動作で前記機器本体の動作を制御し、前記記憶部に前記変更情報が記憶されていない場合、前記動作属性情報に対応する前記アプリケーションの動作で前記機器本体の動作を制御する制御ステップと
を有する情報処理方法。
【請求項２０】
画面表示制御部が、既定の初期画面構成に対応する初期画面構成情報、または、定義された定義画面構成に対応する定義画面構成情報を前記記憶部に記憶制御する画面表示制御ステップを、さらに備え、
前記制御ステップでは、前記制御部が、前記記憶部に前記定義画面構成情報が記憶されていた場合、前記定義画面構成情報に対応する表示画面を表示部に表示制御し、前記記憶部に前記定義画面構成情報が記憶されていない場合、前記初期画面構成情報に対応する表示画面を前記表示部に表示制御すること
を特徴とする請求項１９に記載の情報処理方法。
【請求項２１】
前記画面表示制御ステップにおいて、前記画面表示制御部は、前記アプリケーションを介して関連付けられた画面コンポーネントおよび前記動作属性情報を前記記憶部に記憶制御し、
前記制御ステップにおいて、前記制御部は、関連付けられた前記画面コンポーネントおよび前記動作属性情報に対応する表示画面を前記表示部に表示制御すること
を特徴とする請求項２０に記載の情報処理方法。
【請求項２２】
後処理制御部が、前記機器本体の定義された後処理に対応する後処理情報を前記記憶部に記憶制御する後処理制御ステップを、さらに備え、
前記制御ステップでは、前記制御部が、前記機器本体の前記アプリケーションによる動作が完了した後に、前記記憶部に記憶されている前記後処理情報に対応する後処理を行うように前記機器本体を制御すること
を特徴とする請求項１９から請求項２１のうち、いずれか一項に記載の情報処理方法。
【請求項２３】
前記機器本体は、Ｗｅｂアプリケーションインタフェースを有し、
前記制御ステップにおいて、前記制御部は、前記Ｗｅｂアプリケーションインタフェースを介して前記機器本体と通信を行い、前記機器本体を制御すること
を特徴とする請求項１９から請求項２２のうち、いずれか一項に記載の情報処理方法。
【請求項２４】
前記動作属性情報の既定情報または初期情報として、利用頻度の高い組み合わせに対応する動作属性情報が設定されていること
を特徴とする請求項１９から請求項２３のうち、いずれか一項に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作部を備えた機器、情報処理システム、情報処理プログラム、および情報処理方法に関する。
【背景技術】
【０００２】
今日において、例えば複数の画像形成機能を備えた複合機（ＭＦＰ：Multifunction  Peripheral）などの機器のメーカー側は、機器のプラットフォームのソースコードを公開している。プラットフォームの開発者は、公開されたソースコードを拡張、置換、または再利用して、機器のアプリケーションの開発を行うのが一般的である。
【０００３】
特許文献１（特開２０１３−１４３１２５号）には、スマートフォン向けアプリケーションで特定の機能を実行するためのプログラムコードを、予め作成してサードベンダに提供するモバイルコンテンツ開発プラットフォームが開示されている。このモバイルコンテンツ開発プラットフォームは、スマートフォン向けのアプリケーションを容易に開発できる。また、このモバイルコンテンツ開発プラットフォームは、開発期間を短縮化できる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、機器を制御するためのアプリケーションを開発する場合、多くの自明のソースコードを記述する必要がある。また、機器の状態遷移およびインタフェース仕様（Ｉ／Ｆ仕様）を全て把握する必要がある。このため、開発に多くの手間を要する問題があった。また、機器の一連の動作に対応するフレームワークが提供されている場合、動作パラメータ（属性）または画面構成などの既定値を所望の値に変更（カスタマイズ）することは困難となっていた。
【０００５】
本発明は、上述の課題に鑑みてなされたものであり、パラメータの値を所望の値に変更でき、より簡単に機器のアプリケーションの開発を行うことが可能な、操作部を備えた機器、情報処理システム、情報処理プログラム、および情報処理方法の提供を目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上述した課題を解決し、目的を達成するために、機器本体を制御するアプリケーションの動作属性情報、または、動作属性情報を変更した変更情報を記憶部に記憶制御する属性制御部と、記憶部に変更情報が記憶されていた場合、変更情報に対応するアプリケーションの動作で機器本体の動作を制御し、記憶部に変更情報が記憶されていない場合、動作属性情報に対応するアプリケーションの動作で機器本体の動作を制御する制御部とを備えた操作部を有する。
【発明の効果】
【０００７】
本発明によれば、既定値を所望の値に変更でき、より簡単に機器のアプリケーションの開発を行うことができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態のＭＦＰのハードウェア構成図である。
【図２】図２は、実施の形態のＭＦＰの操作部側に設けられたアプリケーション開発システム（アプリ開発システム）のモジュール構成を示す図である。
【図３】図３は、実施の形態のＭＦＰの操作部側に設けられた機器制御フレームワークにおける、動作パラメータ（属性）のカスタマイズの流れを示すフローチャートである。
【図４】図４は、実施の形態のＭＦＰの操作部側に設けられた機器制御フレームワークにおける、画面コンポーネントのカスタマイズの流れを示すフローチャートである。
【図５】図５は、実施の形態のＭＦＰの操作部側に設けられた機器制御フレームワークにおける、後処理の登録動作の流れを示すフローチャートである。
【図６】図６は、実施の形態のＭＦＰの操作部側に設けられた機器制御フレームワークで登録される属性制御部、画面表示制御部、および後処理制御部の模式図である。
【図７】図７は、実施の形態のＭＦＰの操作部側に設けられた機器制御フレームワークの動作制御部における、ＭＦＰ本体の制御動作の流れを示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明に係る操作部を備えた機器、情報処理システム、情報処理プログラム、および情報処理方法を適用した実施の形態の複合機（ＭＦＰ：Multifunction  Peripheral）を詳細に説明する。なお、ＭＦＰは、例えば印刷機能、複写機能、スキャナ機能、およびファクシミリ機能のうち、１つまたは２つ以上の機能を有する電子機器である。また、ＭＦＰ以外であっても、例えばプロジェクタ装置、テレビ会議システム、またはデジタルカメラ装置などの電子機器のアプリケーションを開発してもよい。
【００１０】
（概要）
実施の形態のＭＦＰは、機器制御フレームワークを用いて、例えばＭＦＰなどのアプリケーションの開発を可能とする。機器制御フレームワークは、「動作制御機能」、「属性制御機能」、「画面表示制御機能」、および「後処理制御機能」を提供する。
【００１１】
「動作制御機能」は、ＷｅｂＡＰＩを介してＭＦＰの本体を制御する際に、予め決められた一連の動作を制御する機能を提供する。Ｗｅｂは「World  Wide  Web」の略記である。また、ＡＰＩは、「Application  Programming  Interface」の略記である。「属性制御機能」は、ＭＦＰの利用頻度が高い動作パラメータ（属性）の組み合わせを既定値として提供する。また、「属性制御機能」は、外部ファイルとして既定値を定義することによって、既定値のカスタマイズを可能としている。
【００１２】
「画面表示制御機能」は、機器の制御中に表示する画面を制御する機能である。ＭＦＰの制御中の画面は、類似した画面構成となることが多い。このため、予め決められた既定値の画面を、制御中の画面として提供する。アプリケーションの開発者は、画面構成を定義したＸＭＬを指定することで、画面構成のカスタマイズが可能となっている。ＸＭＬは、「eXtensible  Markup  Language」の略記である。また、画面コンポーネントに追加するかたちで動作パラメータ（属性）を関連付けることで、画面コンポーネントのカスタマイズが可能となっている。
【００１３】
ＭＦＰは、電子文書を生成後に、配信または蓄積する処理を行う。このような後処理は、ビジネスロジックとの繋がりが多くなる。このため、利用者は、「後処理制御機能」で、所望の後処理を定義可能となっている。利用者はＸＭＬで定義した処理を登録する。これにより、登録された後処理をフレームワークが実行する。
【００１４】
このように実施の形態のＭＦＰは、アプリケーションを開発する開発者向けに、ＭＦＰの制御を行う部分を簡略化すると共に、所望の属性、または、画面構成などのカスタマイズも可能なフレームワークを提供している。
【００１５】
（実施の形態）
図１に、実施の形態のＭＦＰのハードウェア構成図を示す。ＭＦＰ１は、コピー機能、スキャナ機能、ファクス機能、およびプリンタ機能などの各種機能を備えた本体１０と、ユーザの操作に応じた入力を受け付ける操作部２０とを備える。
【００１６】
操作部２０は、ＭＦＰ１の本体１０から取り外し可能となっている。操作部２０は、本体１０に装着されている場合、専用の通信路３０を介して本体１０と操作部２０との間で、相互に通信を行う。通信路３０としては、例えばＵＳＢ（Universal  Serial  Bus）規格のものを用いることもできる。また、操作部２０は、本体１０から取り外された場合、ＷｅｂＡＰＩを介して本体１０との間で無線通信を行う。また、本体１０から取り外された場合、操作部２０は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）または赤外線通信などの無線通信で、本体１０との間の通信を行ってもよい。操作部２０には、例えばＭＦＰ１の本体１０上で動作する各種アプリケーション、および開発者が開発しているアプリケーションの操作画面などが表示される。これにより、操作部２０は、ＭＦＰ１の操作部として機能する。なお、操作部２０としては、例えばタブレット型端末またはスマートフォンなどの単独で完結した情報処理を実行可能な電子機器である情報処理端末を用いてもよい。
【００１７】
より詳しくは、操作部２０として用いられる情報処理端末は、ＭＦＰ１専用の操作部として固定され設置されていた操作パネルの代わりに、本体１０に着脱可能に接続される。すなわち、操作部２０として用いられる情報処理端末は、例えば本体１０の操作パネルが配置される位置などの所定の位置に取り外し可能（分離可能）ながらも、本体１０と一体的に設置される。従って、操作部２０として用いられる情報処理端末および本体１０は、一台の装置として把握されてもよい。
【００１８】
なお、本体１０は、操作部２０から受け付けた入力に応じた動作を行う。また、本体１０は、クライアントＰＣ（パーソナルコンピュータ）などの外部装置とも通信可能であり、外部装置から受信した指示に応じて動作させることも可能となっている。
【００１９】
次に、本体１０のハードウェア構成について説明する。図１に示すように、本体１０は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、ＨＤＤ（ハードディスクドライブ）１４と、通信Ｉ／Ｆ（インタフェース）１５と、接続Ｉ／Ｆ１６と、エンジン部１７とを備えている。ＣＰＵ１１〜エンジン部１７は、システムバス１８を介して相互に接続されている。
【００２０】
ＣＰＵ１１は、本体１０の動作を統括的に制御する。ＣＰＵ１１は、ＲＡＭ１３をワークエリア（作業領域）としてＲＯＭ１２またはＨＤＤ１４等に格納されたアプリケーションプログラムを実行する。これにより、ＣＰＵ１１は、本体１０全体の動作を制御し、コピー機能、スキャナ機能、ファクス機能、およびプリンタ機能などの各種機能を実現する。
【００２１】
通信Ｉ／Ｆ１５は、クライアントＰＣ（パーソナルコンピュータ）などの外部装置と通信するためのインタフェースである。接続Ｉ／Ｆ１６は、通信路３０を介して操作部２０と通信するためのインタフェースである。なお、図１において、通信路３０は、有線的に図示されているが、上述のように操作部２０は、ＭＦＰ１の本体１０に対して装着および取り外し可能に設けられている。このため、操作部２０をＭＦＰ１に装着しているときには、通信路３０は有線通信路として機能し、操作部２０をＭＦＰ１から取り外したときには、通信路３０は無線通信経路として機能するものと理解されたい。
【００２２】
エンジン部１７は、コピー機能、スキャナ機能、ファクス機能、および、プリンタ機能を実現させるための、汎用的な情報処理、および通信以外の処理を行うハードウェアである。エンジン部１７は、例えば原稿の画像をスキャンして読み取るスキャナ（画像読取部）、用紙などのシート材への印刷を行うプロッタ（画像形成部）、ファクス通信を行うファクス部等を備えている。さらに、印刷済みシート材を仕分けるフィニッシャ、および、原稿を自動給送するＡＤＦ（自動原稿給送装置）のような特定のオプションを、エンジン部１７に設けてもよい。
【００２３】
次に、操作部２０のハードウェア構成について説明する。図１に示すように、操作部２０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、フラッシュメモリ２４、通信Ｉ／Ｆ２５、接続Ｉ／Ｆ２６、および表示部２７を備える。ＣＰＵ２１〜表示部２７は、システムバス２８を介して相互に接続されている。
【００２４】
ＣＰＵ２１は、操作部２０の動作を統括的に制御する。ＣＰＵ２１は、ＲＡＭ２３をワークエリア（作業領域）として、ＲＯＭ２２またはフラッシュメモリ２４等に格納されたプログラムを実行する。これにより、ＣＰＵ２１は、操作部２０全体の動作を制御し、ユーザから受け付けた入力に応じた情報（画像）の表示などの後述する各種機能を実現する。
【００２５】
通信Ｉ／Ｆ２５は、ネットワークを介してＷｅｂサーバ装置と通信するためのインタフェースである。また、通信Ｉ／Ｆ２５は、操作部２０が本体１０から取り外された際に、ネットワークを介して、無線通信により、本体１０との間で通信するためのインタフェースである。接続Ｉ／Ｆ２６は、操作部２０が本体１０に装着されている際に、通信路３０を介して有線通信により、本体１０との間で通信を行うためのインタフェースである。
【００２６】
表示部２７は、ユーザの操作に応じた各種の入力を受け付けると共に、例えば受け付けた入力に応じた情報、ＭＦＰ１の動作状況を示す情報、設定状態などの各種の情報を表示する。一例として、表示部２７は、タッチパネル機能を備えた液晶表示装置（ＬＣＤ）で構成されている。これ以外であっても、表示部２７は、例えばタッチパネル機能を備えた有機ＥＬ表示装置で構成してもよい。さらに、表示部２７に、ハードウェアキーなどの操作部、または発光部などを設けてもよい。
【００２７】
次に、図２は、操作部２０側に設けられたアプリケーション開発システム（アプリ開発システム）のモジュール構成を示す図である。このアプリ開発システムは、図１に示す操作部２０のＲＯＭ２２、ＲＡＭ２３またはフラッシュメモリ２４などの記憶部に記憶されているソフトウェアである。アプリ開発システムは、利用者ビジネスロジック部４１、機器制御フレームワーク４２、対象機器制御部４３、およびＯＳ提供フレームワーク４４を有している。ＯＳは、「Operating  System」の略記である。
【００２８】
利用者ビジネスロジック部４１は、開発者が開発しているアプリケーションであり、対象のフレームワークを呼び出すモジュールとなっている。利用者ビジネスロジック部４１のアプリケーションは、例えば本体１０が備えるコピー機能、スキャナ機能、ファクス機能、およびプリンタ機能に関する操作および表示を行うためのＵＩ機能を提供する。ＵＩは「ユーザインタフェース」の略記である。なお、利用者ビジネスロジック部４１のアプリケーションは、操作部２０が備えるハードウェア資源を動作させて所定の機能を提供するアプリケーションでもよい。
【００２９】
機器制御フレームワーク４２は、ＭＦＰ１のメーカー側からアプリケーションの開発者に対して提供されるフレームワークである。機器制御フレームワーク４２は、対象機器制御部４３およびＯＳ提供フレームワーク４４などと通信を行いながら、開発者により開発されるアプリケーションを利用者ビジネスロジック部４１に構築する。また、機器制御フレームワーク４２は、動作制御部５１、属性制御部５３、画面表示制御部５４、および後処理制御部５５を備える。動作制御部５１は、制御部の一例である。
【００３０】
利用者ビジネスロジック部４１のアプリケーションが起動されると、属性制御部５３が生成され、動作制御部５１に登録される。属性制御部５３は、対象機器を動作させるアプリケーションの動作パラメータ（動作属性情報の一例）を制御するための制御部である。機器制御フレームワーク４２においては、利用頻度が高い動作パラメータの組み合わせが既定値（初期値）とされ、属性設定ファイル５６として提供されている。アプリケーションの開発者は、属性設定ファイル５６の既定値を変更することで、簡単に所望の動作パラメータを指定可能となっている。また、変更された動作パラメータ（変更情報の一例）は、表示文字列ファイル５７から選択された文字列である属性名、および、表示名と共に、属性制御部５３により、ＲＡＭ２３またはフラッシュメモリ２４などの記憶部に記憶制御される。また、画面に表示される、例えばボタンまたはラベルなどの画面コンポーネントの属性として動作パラメータを追加することで、画面コンポーネントおよび動作パラメータの関連付けを行っている。
【００３１】
同様に、利用者ビジネスロジック部４１のアプリケーションが起動されると、画面表示制御部５４が生成され、動作制御部５１に登録される。画面表示制御部５４は、本体１０の制御中に表示する画面を制御する制御部である。ＭＦＰ１の制御中の画面は、類似した画面構成となることが多い。このため、メーカー側から開発者に対して、既定値の制御中の画面（初期画面）が提供される。アプリケーションの開発者は、画面レイアウトを定義したＸＭＬを指定するかたちで、画面構成のカスタマイズが可能となっている。このカスタマイズされた画面構成は、定義画面の一例である。また、画面に表示される、例えばボタンまたはラベルなどの画面コンポーネントの属性として動作パラメータを追加することで、画面コンポーネントおよび動作パラメータの関連付けを行っている。開発者は、所望の画面コンポーネントに対して所望の動作パラメータを、アプリケーションを介して関連付けすることで、対象機器の例えば動作中の画面をカスタマイズ可能となっている。
【００３２】
画面表示制御部５４は、メーカー側から提供された既定値の制御中の画面（初期画面）の情報をＲＡＭ２３またはフラッシュメモリ２４などの記憶部に記憶制御する。また、画面表示制御部５４は、アプリケーションの開発者から定義された、画面レイアウトの情報を、ＲＡＭ２３またはフラッシュメモリ２４などの記憶部に記憶制御する。また、画面表示制御部５４は、開発者によりアプリケーションを介して関連付けされた画面コンポーネントおよび動作パラメータを、ＲＡＭ２３またはフラッシュメモリ２４などの記憶部に記憶制御する。
【００３３】
次に、ＭＦＰ１は、電子文書を生成後に、配信または蓄積する処理を行う。このような「後処理」は、ビジネスロジックとの繋がりが多くなる。機器制御フレームワーク４２は、開発者により、例えばＸＭＬで定義された後処理が指定されると、動作制御部５１に後処理制御部５５が登録される。例えば、原稿または画像などの読み取り処理後のＯＣＲ処理またはメール転送処理などの「後処理」が、アプリケーションを介して登録された場合、後処理制御部５５が生成され、動作制御部５１により登録される。そして、この後処理を示す情報が、後処理制御部５５により、ＲＡＭ２３またはフラッシュメモリ２４などの記憶部に記憶制御される。ＯＣＲは、「Optical  Character  Recognition」の略記である。動作制御部５１は、本体１０側で、例えば印刷または読み取りなどの処理が完了した後に、後処理制御部５５で示される後処理（開発者から登録された後処理）を実行制御する。
【００３４】
動作制御部５１は、登録された属性制御部５３、画面表示制御部５４、および後処理制御部５５に従って、対象機器制御部４３の動作を制御する。なお、動作パラメータ（属性）の既定値が変更されていない場合、動作制御部５１は、属性設定ファイル５６に記憶されている各属性の既定値で対象機器制御部４３の動作を制御する。対象機器制御部４３は、制御対象となる本体１０のコピー、スキャナなどの各動作（処理）を、ＷｅｂＡＰＩ４５を介して制御する。ＯＳ提供フレームワーク４４は、操作部２０にインストールされているＯＳが提供している基本制御フレームワークである。
【００３５】
なお、一例ではあるが、実施の形態のＭＦＰ１は、機能の独立性を保つために、本体１０側のＯＳと操作部２０側のＯＳとで、種類の異なるＯＳを用いている。すなわち、ＭＦＰ１の本体１０と操作部２０は、別々のオペレーティングシステムで互いに独立して動作するようになっている。例えば、本体１０側のＯＳとしては、Ｌｉｎｕｘ（登録商標）が用いられている。また、操作部２０側のＯＳとしては、Ａｎｄｒｏｉｄ（登録商標）が用いられている。
【００３６】
実施の形態のＭＦＰ１は、本体１０および操作部２０が、それぞれ異なるＯＳで動作するため、本体１０と操作部２０との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。例えば、操作部２０が受け付けた入力（ユーザからの指示内容）を本体１０へ伝達する動作（コマンド通信）、または、本体１０が操作部２０へイベントを通知する動作などがこれに該当する。ここでは、操作部２０が本体１０へコマンド通信を行うことにより、本体１０の機能を用いることができる。
【００３７】
また、本体１０から操作部２０に通知するイベントには、本体１０における動作の実行状況（例えば、印刷終了枚数、読み取り枚数など）、本体１０側で設定された内容などが含まれる。さらに、操作部２０に対する電力供給は、本体１０から通信路３０を介して行われる。このため、操作部２０の電源制御を、本体１０の電源制御とは別に（独立して）行うことができる。
【００３８】
なお、機器制御フレームワーク４２、対象機器制御部４３、およびＯＳ提供フレームワーク４４は、一部または全部をハードウェアで実現してもよい。同様に、機器制御フレームワーク４２の動作制御部５１、属性制御部５３〜後処理制御部５５の一部または全部をハードウェアで実現してもよい。
【００３９】
また、図２において、属性設定ファイル５６および表示文字列ファイル５７を機器制御フレームワーク４２内に設けられているものとして図示したが、属性設定ファイル５６および表示文字列ファイル５７は、例えば利用者ビジネスロジック部４１内等の機器制御フレームワーク４２外に設けてもよい。
【００４０】
次に、図３のフローチャートに、機器制御フレームワーク４２の動作パラメータ（属性）のカスタマイズの流れを示す。まず、利用者ビジネスロジック部４１のアプリケーションが起動されると、属性制御部５３が生成され、動作制御部５１に対して登録される。ステップＳ１では、属性制御部５３が、外部ファイルとして設けられている属性設定ファイル５６に記憶されている既定値（初期値）の各動作パラメータを取得して、ステップＳ２に処理を進める。
【００４１】
ステップＳ２では、動作制御部５１が、取得した動作パラメータの中から、ＭＦＰ１の動作環境および機器設定などに対応する動作パラメータを選択し、選択した動作パラメータの一覧を表示部２７に表示する。アプリケーションの開発者は、表示された動作パラメータのうち、所望の動作パラメータの値を、アプリケーションを介して変更操作する。ステップＳ３では、動作制御部５１が、アプリケーションから通知される動作パラメータの変更操作の有無を判別している。
【００４２】
動作制御部５１は、動作パラメータの変更操作を検出しない場合は（ステップＳ３：Ｎｏ）、そのまま図３のフローチャートの処理を終了する。この場合、動作制御部５１および対象機器制御部４３は、初期値となる動作パラメータで本体１０のコピー機能、またはスキャナ機能等の各機能の制御を行う。
【００４３】
これに対して、動作制御部５１が動作パラメータの変更操作を検出した場合（ステップＳ３：Ｙｅｓ）、処理がステップＳ４に処理を進む。ステップＳ４では、属性制御部５３が、アプリケーションから通知される、変更された動作パラメータの値をＲＡＭ２３またはフラッシュメモリ２４などの記憶部に記憶制御する。これにより、図３のフローチャートの処理が終了する。
【００４４】
次に、図４のフローチャートに、画面コンポーネントのカスタマイズの流れを示す。ＭＦＰの制御中の画面は、類似した画面構成となることが多い。このため、予め決められた既定値の画面を、制御中の画面として提供する。アプリケーションの開発者は、画面構成を定義したＸＭＬを指定することで、画面構成のカスタマイズが可能となっている。また、画面コンポーネントに追加するかたちで動作パラメータ（属性）を関連付けることで、画面コンポーネントのカスタマイズが可能となっている。
【００４５】
すなわち、まず、利用者ビジネスロジック部４１のアプリケーションが起動されると、属性制御部５３が生成され、動作制御部５１に対して登録される。ステップＳ１１では、属性制御部５３が、外部ファイルとして設けられている属性設定ファイル５６に記憶されている既定値（初期値）の各動作パラメータを取得して、ステップＳ１２に処理を進める。
【００４６】
ステップＳ１２では、動作制御部５１が、取得した動作パラメータの中から、ＭＦＰ１の動作環境および機器設定などに対応する動作パラメータを選択する。また、動作制御部５１は、選択した動作パラメータの表示名を表示文字列ファイル５７から取得する。そして、動作制御部５１は、ステップＳ１３において、各動作パラメータの一覧情報を生成し、表示部２７に表示する。
【００４７】
アプリケーションの開発者により、例えばボタンまたはラベルなどの所望の画面コンポーネントに対する所望の動作パラメータの関連付けが指定されると、アプリケーションから動作制御部５１に対して、関連付けが指定された旨の通知がされる。ステップＳ１４では、動作制御部５１が、アプリケーションからの通知の有無を監視している。動作制御部５１が、アプリケーションから通知を受信すると（ステップＳ１４：Ｙｅｓ）、ステップＳ１５に処理を進め、開発者により選択された画面コンポーネントに対応する複数の動作パラメータを、関連付けする動作パラメータの選択候補として表示部２７に表示する。
【００４８】
利用者は、表示された選択候補の中から、画面コンポーネントに関連付けする動作パラメータを選択する。なお、「利用者」の概念は、オペレータ、操作者、または開発者など、いずれも含む概念である。アプリケーションは、画面コンポーネントおよび選択された動作パラメータ（画面コンポーネントに関連付けする動作パラメータ）を動作制御部５１に通知する。動作制御部５１は、ステップＳ１６において、アプリケーションからの通知の有無を監視している。動作制御部５１は、アプリケーションからの通知を受信すると、利用者により所望の動作パラメータが選択されたものと判別し（ステップＳ１６：Ｙｅｓ）、処理をステップＳ１７に進める。
【００４９】
ステップＳ１７では、動作制御部５１に登録された画面表示制御部５４が、アプリケーションから通知された画面コンポーネントと、選択された動作パラメータとを関連付けしてＲＡＭ２３またはフラッシュメモリ２４等の記憶部に記憶して、図４のフローチャートの処理が終了する。これにより、所望の画面コンポーネントに対して所望の動作パラメータを関連付けできる。
【００５０】
次に、図５のフローチャートに、後処理の登録動作の流れを示す。ＭＦＰ１は、電子文書または電子画像を生成後に、生成した電子文書などを配信または蓄積する処理（後処理）を行う。このような後処理は、ビジネスロジックとの繋がりが多くなる。開発者は、例えばＸＭＬなどの処理の言語で後処理を定義すると、アプリケーションを介して、定義した後処理の登録操作を行う。ステップＳ２１では、動作制御部５１が、後処理の登録操作の有無を監視している。動作制御部５１は、アプリケーションから通知される後処理の登録要求、およびＸＭＬで定義された後処理の情報を取得すると（ステップＳ２１：Ｙｅｓ）、処理をステップＳ２２に進める。
【００５１】
ステップＳ２２では、動作制御部５１に登録された後処理制御部５５が、ＸＭＬで定義された後処理をＲＡＭ２３またはフラッシュメモリ２４などの記憶部に記憶制御する。これにより、図５のフローチャートの処理が終了する。動作制御部５１は、後述するように、例えば印刷処理またはスキャン処理などの主となる処理の終了後に、後処理制御部５５により登録された後処理を実行制御する。
【００５２】
図６に、ＲＡＭ２３またはフラッシュメモリ２４などの記憶部に記憶された属性制御部５３、画面表示制御部５４、および後処理制御部５５の模式図を示す。この図６の例は、属性制御部５３として写真／テキスト属性が登録され、画面表示制御部５４として、オリジナル画面が登録され、後処理制御部５５として、ＯＣＲ／メール転送が登録された例である。動作制御部５１は、以下に説明するように、属性制御部５３、および、後処理制御部５５を介して、本体１０の各機能の制御を行う。また、動作制御部５１は、画面表示制御部５４を介して、操作部２０の表示部２７に対する画面表示制御を行う。
【００５３】
図７に、動作制御部５１による本体１０の制御動作の流れを示す。図７のフローチャートにおいて、利用者ビジネスロジック部４１のアプリケーションが起動され、例えば原稿のスキャン開始などの制御が指定されると、動作制御部５１は、ステップＳ３１において、属性制御部５３による動作パラメータの指定があるか否かを判別する。
【００５４】
動作制御部５１は、動作パラメータの指定がないものと判別すると（ステップＳ３１：Ｎｏ）、処理をステップＳ４３に進める。ステップＳ４３では、動作制御部５１が、属性制御部５３に記憶されている既定値の動作パラメータを取得する。そして、動作制御部５１は、ステップＳ３３において、既定値の動作パラメータでスキャンまたは印刷などの処理を行うように、対象機器制御部４３を介して本体１０のスキャナ機能などを制御する。
【００５５】
これに対して、動作制御部５１は、動作パラメータが指定されているものと判別すると（ステップＳ３１：Ｙｅｓ）、処理をステップＳ３２に進める。ステップＳ３２では、動作制御部５１が、開発者により設定された動作パラメータ（図６を参照）を取得する。そして、動作制御部５１は、ステップＳ３３において、本来、対象機器制御部４３に渡す既定値の動作パラメータの代わりに（既定値の動作パラメータを隠蔽して）、開発者により設定された動作パラメータを対象機器制御部４３に渡す。対象機器制御部４３は、開発者が設定した動作パラメータでスキャンまたは印刷などの処理を行うように、本体１０のスキャナ機能などを制御する。
【００５６】
次に、本体１０側でスキャンまたは印刷などの処理が開始されると、動作制御部５１は、ステップＳ３４において、本体１０の動作中に表示する画面が指定されているか否かを判別する。すなわち、動作制御部５１は、画面表示制御部５４に記憶制御された、開発者により変更された画面の有無を判別する。
【００５７】
動作制御部５１は、開発者により指定された画面が記憶されていないものと判別した場合（ステップＳ３４：Ｎｏ）、処理をステップＳ４４に進める。ステップＳ４４では、動作制御部５１が、例えば印刷が完了した枚数、または、読み取りが完了した枚数などの、既定の動作中の画面を表示部２７に表示する。
【００５８】
これに対して、動作制御部５１は、開発者により指定された画面が登録されているものと判別した場合（ステップＳ３４：Ｙｅｓ）、処理をステップＳ３５に進める。ステップＳ３５では、動作制御部５１が、画面表示制御部５４に登録されている動作中の画面を表示部２７に表示する。これにより、開発者によりカスタマイズされた動作中の画面が表示される。
【００５９】
次に、動作制御部５１は、本体１０の動作を制御している間、本体１０のＣＰＵ１１と通信を行い、ステップＳ３６において、表示部２７に表示している表示画面を、本体１０の動作状態に応じて更新する。具体的には、動作制御部５１は、本体１０の動作中は、例えば「１０枚目を印刷しています」などの補助メッセージと共に、「動作中」のダイヤログを表示部２７に表示する。
【００６０】
また、動作制御部５１は、本体１０の動作を制御している間、本体１０のＣＰＵ１１と通信を行うことで、ステップＳ３７、ステップＳ３８およびステップＳ３９において、本体１０から「一時停止の通知の有無」、「処理中止の通知の有無」および「終了通知の有無」を監視する。
【００６１】
動作制御部５１は、ステップＳ３７において、本体１０から「一時停止の通知」を受信すると（ステップＳ３７：Ｙｅｓ）、ステップＳ４５に処理を進める。そして、動作制御部５１は、ステップＳ４５において、例えば「紙詰まりのため、印刷を一時停止しました」などのメッセージと共に、「一時停止中」のダイヤログを表示部２７に表示する。
【００６２】
また、動作制御部５１は、ステップＳ３８において、本体１０から「処理中止の通知」を受信すると（ステップＳ３８：Ｙｅｓ）、ステップＳ４６に処理を進める。そして、動作制御部５１は、ステップＳ４６において、例えば「印刷部の故障により、印刷を中止しました」などのメッセージと共に、「中止」のダイヤログを表示部２７に表示する。
【００６３】
次に、本体１０側で指定された動作が終了すると、「終了通知」が送信される。動作制御部５１は、ステップＳ３９において、本体１０から「終了通知」を受信すると（ステップＳ３９：Ｙｅｓ）、ステップＳ４０に処理を進める。そして、動作制御部５１は、ステップＳ４０において、それまで表示部２７に表示していた、例えば「動作中」のダイヤログを非表示とする。
【００６４】
このように動作制御部５１は、本体１０の動作を制御している間、本体１０のＣＰＵ１１と通信を行うことで、本体１０の「一時停止」、「処理中止」および「処理終了」を監視する。そして、動作制御部５１は、本体１０の動作の状態に応じて、表示部２７の表示画面を更新する。
【００６５】
次に、本体１０の動作が終了すると、動作制御部５１は、ステップＳ４１に処理を進め、後処理制御部５５により記憶制御された後処理の指定の有無を判別する。後処理が指定されていないものと判別した場合（ステップＳ４１：Ｎｏ）、動作制御部５１は、そのまま図７のフローチャートの処理を終了する。これに対して、後処理が指定されているものと判別した場合（ステップＳ４１：Ｙｅｓ）、動作制御部５１は、ステップＳ４２に処理を進める。そして、動作制御部５１は、例えば図６を用いて説明したように、ＯＣＲまたはメール転送などの後処理を実行するように、対象機器制御部４３を介して本体１０を制御して、図７のフローチャートの処理を終了する。
【００６６】
以上の説明から明らかなように、実施の形態のＭＦＰ１は、決められている制御手順を機器制御フレームワーク４２として、アプリケーションの開発者に提供する。これにより、開発者は、ＭＦＰ１の仕様を詳細に把握せずとも、予め決められている一連の制御手順を容易に実装でき、アプリケーションの開発を、より簡単に行うことができる。
【００６７】
また、一連の動作パラメータ（属性）、表示画面の画面構成、および、後処理を属性制御部５３、画面表示制御部５４、および後処理制御部５５である外部ファイルとして定義可能としている。このため、一連の動作パラメータ（属性）、表示画面の画面構成、および、後処理を自由にカスタマイズ可能とすることができる。
【００６８】
なお、機器制御フレームワーク４２、対象機器制御部４３、およびＯＳ提供フレームワーク４４は、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）などのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、ＣＤ−Ｒ、ＤＶＤ、ブルーレイディスク（登録商標）半導体メモリなどのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。ＤＶＤは、「Digital  Versatile  Disk」の略記である。また、インターネットなどのネットワーク経由でインストールするかたちで提供してもよい。また、機器内のＲＯＭ等に予め組み込んで提供してもよい。
【００６９】
上述の実施の形態は、例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことも可能である。実施の形態および実施の形態の変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均などの範囲に含まれる。
【符号の説明】
【００７０】
１  ＭＦＰ
１０  本体
２０  操作部
４１  利用者ビジネスロジック部
４２  機器制御フレームワーク
４３  対象機器制御部
４４  ＯＳ提供フレームワーク
５１  動作制御部
５３  属性制御部
５４  画面表示制御部
５５  後処理制御部
５６  属性設定ファイル
５７  表示文字列ファイル
【先行技術文献】
【特許文献】
【００７１】
【特許文献１】特開２０１３−１４３１２５号公報
【図１】
2015231159.tif 000003
【図２】
2015231159.tif 000004
【図３】
2015231159.tif 000005
【図４】
2015231159.tif 000006
【図５】
2015231159.tif 000007
【図６】
2015231159.tif 000008
【図７】
2015231159.tif 000009