説明

電子機器及びアプリケーション実行方法

【課題】 アプリケーションからAPIを介して要求された機能が利用不可能なとき、この機能を利用しようとするような不適切な処理要求を阻止し、予測不可能な動作が実行されるのを防止する。
【解決手段】 アプリケーション11により出力される処理要求情報に基づいて、APIを用いて所定の機能を実行する電子機器であって、処理要求情報を入力し、この処理要求情報により指定された機能が利用可能であるか否かを判定し、この利用可否の判定結果に基づいてAPIを制御するAPIImpl13と、APIImpl13により、処理要求情報により指定された機能が利用可能であると判定された場合に機能を実現する処理を実行するコントローラ14とを備えた構成としてある。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子機器及びアプリケーション実行方法に関し、特に、アプリケーションからの指示によって、所定の機能を利用するときに、安定して所望の機能が提供される電子機器及びアプリケーション実行方法に関する。
【背景技術】
【0002】
一般に、複数の機能、例えば、コピー機能、ファクシミリ機能、スキャナ機能、プリンタ機能等を備えたMFP(Multiple Function Peripheral)などの画像形成装置は、ネットワーク上で端末機や他の画像形成装置と接続され、広く使用されている。
このような各機能は、画像形成装置に組み込まれるアプリケーションによって利用され、さらに、アプリケーションが効率良く稼働するために、例えば、API(Application Program Interface)と呼ばれるインタフェースが提供されることが一般的に知られている。APIは、機能の拡張(機能の追加、変更等)を可能とし、アプリケーションは、APIを呼び出すことで機能を提供することができる。
【0003】
また、上述した機能は、各機能において有効/無効と設定することによって、機能の利用可否を制限することができる。このような場合、画像形成装置で無効とされているにも拘らず機能が誤って呼び出され、処理されようとした場合にはアプリケーションの動作が不安定になるばかりか、データやメモリ、極端な場合はシステムを壊してしまう可能性がある。
例えば、画像形成装置がファクシミリ機能を利用できない場合(無効の場合)に、APIの一つとしてファクシミリ機能が提供され、この機能をアプリケーションからAPIを介して利用しようとすると、画像形成装置がどのような動作を行うかは予測不可能である。
【0004】
そこで、このような問題を解消するべく、特許文献1に記載の発明が提案されている。この特許文献1には、アプリケーションが起動される際に、リソース情報を参照することによって、アプリケーションの起動可否を判断し、システムがリソース不足によって不安定になるのを未然に防ぐことができ、安定性を図ることができる装置及び方法が記載されている。
【0005】
【特許文献1】特開2004−30601号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の技術では、アプリケーションの起動時に、アプリケーションのサービス(機能)などが記録されたリソース情報と現在の複合機のリソースを比較することで起動判断が行われており、アプリケーションの起動中にサービス(機能)が何らかの理由で無効とされた場合には、動作が不安定になる場合がある。
【0007】
本発明は、上記のような従来の技術が有する問題を解決するために提案されたものであり、処理要求情報に基づく機能が利用できるか否かを判定し、APIを制御することで、不適切な処理の実行を防ぐとともに、予測不可能な動作の発生を防止して安定した利用を可能とする電子機器及びアプリケーション実行方法の提供を目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明の電子機器は、アプリケーションにより出力される処理要求情報に基づいて、APIを用いて所定の機能を実行する電子機器であって、処理要求情報を入力し、この処理要求情報により指定された機能が利用可能であるか否かを判定し、この利用可否の判定結果に基づいてAPIを制御するAPI制御手段と、API制御手段により、処理要求情報により指定された機能が利用可能であると判定された場合に機能を実現する処理を実行する機能提供手段とを備えた構成としてある。
【0009】
また、本発明のアプリケーション実行方法は、アプリケーションにより出力される処理要求情報に基づいて、APIを用いて所定の機能を実行する電子機器におけるアプリケーション実行方法であって、処理要求情報を入力し、この処理要求情報により指定された機能が利用可能であるか否かを判定し、この利用可否の判定結果に基づいてAPIを制御するAPI制御工程と、API制御工程により、処理要求情報により指定された機能が利用可能であると判定された場合に機能を実現する処理を実行する機能提供工程とを備えた実行方法としてある。
【発明の効果】
【0010】
本発明によれば、API制御手段によって、アプリケーションから出力される処理要求情報に基づく機能が利用可能であるか否かが判定され、この判定結果に基づいてAPIが制御される。
これによって、処理要求した機能が利用不可能であるときに、この機能を利用しようとするような不適切な処理要求を阻止し、予測不可能な動作が実行されるのを防止できる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の好ましい実施形態について図面を参照して説明する。
ここで、以下に示す本実施形態では、本発明の電子機器として画像形成装置を適用して説明する。
[第一実施形態]
【0012】
図1は、本発明の第一実施形態に係る画像形成装置の概略構成を示すブロック図である。
画像形成装置(MFP)10と端末機(40、41、…、4n)は、通信回線としてのネットワーク30を介して接続されており、処理データやコマンドの授受が相互に通信可能となっている。
【0013】
MFP10は、アプリケーション11、アプリケーション向けAPI12、アプリケーション向けAPIImpl13、コントローラ14、通信部16、報知手段17等を有している。また、MFP10は、図示しないが、アプリケーション11を動作させるプラットフォームを備えている。
【0014】
アプリケーション11は、MFP10が備えるプリンタ、スキャナ、コピー、ファクシミリ等の種々の機能を利用することで、ユーザへサービスを提供するソフトウェアであり、MFP10の備える図示しないハードディスクなどにアプリケーションプログラムとして記憶されている。このハードディスクなどに記憶されたアプリケーションプログラムが、MFP10の備える図示しないCPUによって読み出されて実行されることによって、アプリケーション11としての機能を実現する。また、アプリケーション11は、アプリケーション向けAPI12を呼び出すことで、プリンタ、スキャナ、コピー、ファクシミリ等の種々の機能を利用可能とする。なお、アプリケーション11は、MFPの出荷時に予め実装されるか又は出荷後に実装され、例えば、Java(登録商標)アプリケーションとして実装される。
【0015】
アプリケーション向けAPI(以下、API)12は、MFP10が備える各種機能を利用するためにアプリケーション向けに提供される。このAPI12は、上述したプラットフォーム上で動作し、アプリケーション11からの要求に応答して機能を提供する。
ここで、API12は、各機能を実現する処理を実行するための各コマンドにそれぞれ対応するインタフェースの集合となっている。通常、アプリケーション11から利用するOSやプログラミング言語によって用意されたライブラリなどの機能の入口となるものであり、その多くは関数の形で提供される。すなわち、MFPの機能を利用するようなアプリケーション開発をする場合には、開発者は、機能制御に係る詳細なプログラム開発を行う必要はなく、予め用意されているAPI関数を指定して、利用したい機能に対応したAPIを呼び出すことで所望の機能を利用することができる。
【0016】
アプリケーション向けAPIImpl(以下、APIImpl)13は、API12の実装部であり、プラットフォーム上で動作し、利用可否判定部130を備えている。このAPIImpl13は、MFP10が備える各機能を有効又は無効とする制御を行うモジュールであり、有効とされた機能はコントローラ14によって実現され、無効とされた機能は実現されない。具体的には、利用可否判定部130の判定結果に基づいて、コントローラ14との通信に使用するAPIのクラス、及びインタフェースを有効又は無効に制御することにより、MFP10が備える各機能を制御する。
なお、APIImpl13は、本発明におけるAPI制御手段に相当する。
【0017】
利用可否判定部130は、アプリケーション11から出力されてきた処理要求情報において指定された機能が、同じく処理要求情報において指定されたMFP10において利用可能であるか否かを判定する。具体的には、MFP10の各機能が有効であるか又は無効であるかを示す設定情報を含んだ、後述するクラス設定情報を参照することで、機能の利用可否判定を行う。
【0018】
コントローラ14は、アプリケーション11から出力されてきた処理要求情報に基づく機能が利用可能(有効)である場合にその機能を実現する処理を実行する。
さらに、コントローラ14は、MFP10の状態又はMFP10が備える機能のステータス変更に係るイベントを監視する。例えば、ユーザによる有効/無効の機能切替え、電源オン/オフ、通信線接続/非接続などを監視する。なお、本実施形態においてイベントとは、MFP10に備えられた、図示しない各種センサ等によって、MFP10の状態が変化したことを認識できる情報である。
なお、コントローラ14は、本発明における機能提供手段に相当する。
【0019】
イベント通知手段140は、コントローラ14が上述したイベントを取得したとき、このイベントに関する内容(例えば、機能が有効又は無効に変更)を含んだステータス情報をAPIImpl13へ通知する。これにより、後述する、クラス設定情報が、このステータス情報に対応づけて内容が更新されて、MFP10の最新の状態を保持する。
【0020】
通信部16は、ネットワーク30に接続されており、MFP10とコントローラ14間でデータの受け渡しをする機能を果たす。
報知手段17は、アプリケーション11より処理要求された機能が利用不可能な場合に、その旨のメッセージをユーザに報知する。具体的には、ポップアップメッセージ等を用いることによって、上記メッセージを図示しない表示操作部に出力してユーザへ通知する。
【0021】
また、本実施形態におけるAPI管理システム1とは、アプリケーション11、API12、APIImpl13、コントローラ14で構成されている。
【0022】
次に、本実施形態におけるAPI管理システムの詳細な構成について、図2を参照して説明する。
図2は、本発明の第一実施形態に係る画像形成装置におけるAPI管理システムの内部構成図を示している。
【0023】
インタフェース15は、API12へアクセスするための窓口の役割を果たしており、利用可能(有効)又は利用不可能(無効)と状態が変化する。
また、APIImpl13には、図示しないが、MFP10が備える各機能に対応した複数のクラスが実装されている。例えば、コピー機能に対応したコピークラス、プリンタ機能に対応したプリンタクラス、ファクシミリ機能に対応したファクシミリクラス等である。これらのクラスには、アクセス内容に応じて、その機能を制御する多数の動作を記述したメソッドが含まれている。
【0024】
インタフェース15は、MFP10が備える各種機能にアクセスするための規約が定義されており、クラスは、このインタフェース15にそれぞれ対応して機能に応じた実装がされている。すなわち、APIImpl13に含まれるこれらのクラスが制御されると、APIImpl13とコントローラ14間のインタフェース15が利用可能(有効)又は利用不可能(無効)と状態が変化し、MFP10の機能が制限される。
なお、図2において、×で付されているインタフェース15は利用不可能(無効)なインタフェースを示している。
【0025】
次に、本実施形態におけるクラス設定情報について説明する。
図3は、本発明の第一実施形態に係るクラス設定情報の設定例を示す図である。
【0026】
図3に示すように、クラス設定情報には、機能名とその機能に関連するクラスがマッピングリストとして記述されている。すなわち、クラス設定情報では、例えば、ファクシミリ機能、コピー機能、スキャナ機能に対応したクラスの利用可否を設定した構成となっており、ファクシミリ機能では、FAXクラスAとして原稿読み込み機能、FAXクラスBとして原稿送信機能、FAXクラスCとして受信機能等のように設定される。
また、上述した利用可否判定部130は、このクラス設定情報に記述されている内容を参照することで判定を行う。さらに、このクラス設定情報は、APIImpl13内に予め定義されており、上述したイベント通知手段140によって送信されてくるステータス情報に対応づけて利用可否の内容が更新される。
なお、クラス設定情報の保有方法としては、例えばデータベースやXMLファイル、CVSファイルとして保有される。
【0027】
次に、以上のような構成からなる第一実施形態の画像形成装置におけるAPIの制御動作について説明する。
図4は、本発明の第一実施形態に係る画像形成装置におけるAPI制御処理手順(アプリケーション実行方法)を示すフローチャートである。
【0028】
例えば、アプリケーション11から処理要求がされると、図4に示す処理フローが開始される。
まず、アプリケーション11は、所望の機能を利用するために、インタフェース15を介して処理要求情報に基づいた機能に対応するAPIを呼び出す(ステップS10)。続いて、この機能が実現される先のMFP10において、利用できるか否かを判定するため、APIImpl13内に定義されているクラス設定情報を呼び出す(ステップS11)。機能が実現される先のMFP10とは、所望の機能を利用するために、アプリケーション11から出力した処理要求情報において指定されたMFP10であり、本実施形態においては、当該アプリケーション11を有するMFP10が指定される。
【0029】
次に、利用可否判定部130において、ステップS11で呼び出したクラス設定情報を参照して、処理要求情報に基づく機能が利用可能であるかを判定する(ステップS12)。
ここで、機能が利用可能であると判定された場合は(ステップS12:YES)、インタフェース15が利用可能に制御され、API12からコントローラに対して、対応する機能を実現する処理の実行を依頼する(ステップS13)。
【0030】
一方、機能が利用不可能であると判定された場合は(ステップS12:NO)、インタフェース15が利用不可能に制御され、機能が提供できない。そして、コントローラ14は、報知手段17へ利用不可能であることを示すメッセージを報知させる(ステップS14)。例えば、MFP10の図示しない表示操作部に「指定した出力先では、○○の機能は利用できません。」などのメッセージを表示する。他の方法として、例えば、警告音を出力することによって報知するなどのように、利用不可能である旨をユーザへ通知することができる方法であればよい。これによりユーザは、指定したMFP10ではこの機能が利用できないことを認識できる。
【0031】
次に、クラス設定情報の更新の方法について説明する。
図5は、本発明の第一実施形態に係るクラス設定情報の更新処理手順を示すフローチャートである。
まず、コントローラ14が、MFP10の状態、MFP10が備える機能の有効又は無効などに関するイベントを取得すると、この取得したステータス情報がイベント通知手段140によって、APIImpl13に通知される(ステップS20)。
【0032】
続いて、APIImpl13内に定義されている、クラス設定情報を呼び出し(ステップS21)、APIImpl13は、ステータス情報とクラス設定情報との内容が異なる場合に、クラス設定情報をステータス情報の内容に対応づけて書き換える(ステップS22)。
これによって、クラス設定情報がMFP10の状態や機能が有効とされた又は無効とされたかを示すステータス情報に対応づけて更新されるため、最新の状態で機能の利用可否判定をすることができる。
【0033】
以上説明したように、本実施形態の画像形成装置によれば、処理要求をした機能が画像形成装置において利用可能であるか否かを判定し、判定結果に基づいてAPIが提供する機能を制御することができる。このため、所望の機能が利用不可能である場合に、この機能が実現されることがなく、予測不可能な動作が発生することを防ぐことが可能となる。
【0034】
[第二実施形態]
次に、本発明に係る画像形成装置の第二実施形態について説明する。
図6は、本発明の第二実施形態に係る画像形成装置の概略構成を示すブロック図である。
【0035】
本実施形態は、第一実施形態と比較して記憶手段18と代行処理選択指示部19の構成が追加されている点で相違する。すなわち、本実施形態では、他のMFP10において機能を代行処理するための構成として、記憶手段18と代行処理選択指示部19を付加してある。なお、本実施形態において、第一実施形態と同様の構成部分については同一の符号を付して、その詳細な説明を省略する。
【0036】
MFP10は、記憶手段18と代行処理選択指示部19を有しており、これらは、コントローラ14に接続されており、通信可能な構成となっている。なお、図6に示すように、MFP10がネットワーク30上に複数台接続されている。
【0037】
記憶手段18は、処理要求された機能が実現される先のMFP10において、利用可否判定部130によって利用不可能であると判定された場合に、アプリケーションから出力されてきた処理要求情報を記憶領域に格納する。
これは、例えば、ファクシミリ機能が実現される先のMFP10において利用できない場合(無効の場合)に、他のMFP10でファクシミリ機能を実現する処理を実行する場合、または、実行先のMFP10が利用できるようになった場合に、処理要求情報を再利用することで、同じMFP10で処理を再実行するために一時的に格納しておく。
【0038】
代行処理選択指示部19は、処理要求された機能が実現される先のMFP10において、利用不可能である場合に、機能が利用可能な他のMFP10で代行処理を行うか否かを選択するための操作部である。また、代行処理選択指示部19が操作されることで、選択された情報をコントローラ14へ出力する。
【0039】
次に、以上のような構成からなる第二実施形態の画像形成装置におけるAPIの制御動作について説明する。
図7は、本発明の第二実施形態に係る画像形成装置におけるAPI制御処理手順(アプリケーション実行方法)を示すフローチャートである。
【0040】
例えば、アプリケーション11から処理要求がされると、図7で示す処理フローが開始される。
まず、第一実施形態で説明したステップS10〜ステップS12(APIの呼び出し〜機能の利用可否判定)が行われる。
ここで、ステップS12において、処理要求された機能が実現される先のMFP10において、利用可能であると判定された場合には(ステップS12:YES)、第一実施形態で説明したステップS13へ移り、コントローラ14へ対応する機能を実現する処理の実行を依頼する。
【0041】
一方、ステップS12において、処理要求された機能が利用不可能であると判定された場合には(ステップS12:NO)、第一実施形態で説明したステップS14が実行されてユーザへの報知が行われる。続いて、記憶手段18によって、アプリケーションから出力されてきた処理要求情報を記憶領域に一時的に格納する(ステップS15)。この処理要求情報は、例えば、少なくとも処理要求された機能、指定した出力先などが対応して格納される。
【0042】
次に、他のMFP10で代行処理を行うか否かを代行処理選択指示部19で選択する(ステップS16)。このとき、代行処理選択指示部19は、図示しない選択操作が可能な操作部を備えている。
代行処理選択指示部19において、代行処理を行うと選択された場合(ステップS16:YES)、続いて、コントローラ14は、図示しない表示操作部へネットワーク30上で機能が利用可能なMFP10を表示する(ステップS17)。そして、表示操作部から選択されたMFP10へ記憶領域に格納されている処理要求情報を送信する(ステップS18)。
これによって、ユーザは処理の実行先として指定したMFP10で機能が利用不可能な場合であっても、ネットワーク上で機能が利用可能な他のMFP10で代行して処理をすることができ、処理待ちに係る時間が軽減される。さらに、代行処理によって、ネットワーク上のリソースを有効活用することができる。
【0043】
一方、ステップS16において、代行処理選択指示部19で代行処理を行わないと選択された場合(ステップS16:NO)、当初、処理要求情報を出力したMFP10で再実行を行うため、機能が利用可能になるまで待機をする(ステップS19)。そして、機能が利用可能となった場合(ステップS19:YES)、ステップS13へ移り、記憶領域に格納されている処理要求情報に基づく機能が再実行される。ここで、実行が完了したときに、処理要求情報は記憶領域から削除される。
これによって、例えば、トナー・用紙切れ、紙詰まり等の一時的に利用不可能な場合やMFP10の利用が混んでいるときでも、機能が利用できるようになったこと(有効化された)をキャッチし、格納された処理要求情報を再利用することで、ユーザが所望した機能を実現する処理を再実行することができる。
【0044】
また、処理要求情報が記憶領域から削除されるタイミングとして、例えば、代行処理先に送信が完了した場合、ユーザによって一定時間操作キーが選択されなかった場合、あるいは、強制的に操作を終了した場合などのタイミングで削除されることにしてもよい。
【0045】
以上のように、本実施形態の画像形成装置によれば、処理要求をした機能が利用不可能である場合に、他の画像形成装置において代行処理を実行することができる。さらに、一時的に機能が利用不可能な場合などで実行を待機する場合でも、機能が有効化されたことをキャッチし、格納された処理要求情報を再利用することで再実行することができる。
【0046】
以上、本発明の電子機器及びアプリケーション実行方法について好ましい実施形態を示して説明したが、本発明にかかる装置は、上述した実施形態にのみ限定されるものではなく、本発明の範囲で種々の変更実施が可能であることは言うまでもない。
【0047】
例えば、本実施形態では、MFPを例として説明しているが、これに限らず、APIを有する装置であれば、例えば、プリンタ、コピー機、ファクシミリ、スキャナの単独で有する装置であってもよく、また、これらを各種組み合わせた装置であってもよい。さらに、プリンタは、インクジェットプリンタ、昇華型熱転写方式プリンタ、ドットインパクトプリンタ、インクジェット式プリンタ、レーザプリンタ、溶融型熱転写方式プリンタなど、各種のプリンタ方式を備えたプリンタであってもよい。
【産業上の利用可能性】
【0048】
本発明は、電子機器が備える機能を利用する際のAPIの制御に関する発明であるため、プリンタ、ファクシミリ、コピー機など画像形成を行う機器や情報処理装置に利用可能である。
【図面の簡単な説明】
【0049】
【図1】本発明の第一実施形態に係る画像形成装置の概略構成を示すブロック図である。
【図2】本発明の第一実施形態に係る画像形成装置におけるAPI管理システムの内部構成図である。
【図3】本発明の第一実施形態に係るクラス設定情報の設定例を示す図である。
【図4】本発明の第一実施形態に係る画像形成装置におけるAPI制御処理手順(アプリケーション実行方法)を示すフローチャートである。
【図5】本発明の第一実施形態に係るクラス設定情報の更新処理手順を示すフローチャートである。
【図6】本発明の第二実施形態に係る画像形成装置の概略構成を示すブロック図である。
【図7】本発明の第二実施形態に係る画像形成装置におけるAPI制御処理手順(アプリケーション実行方法)を示すフローチャートである。
【符号の説明】
【0050】
1 API管理システム
10 画像形成装置(MFP)
11 アプリケーション
12 アプリケーション向けAPI
13 アプリケーション向けAPIImpl
130 利用可否判定部
14 コントローラ
140 イベント通知手段
15 インタフェース
16 通信部
17 報知手段
18 記憶手段
19 代行処理選択指示部
30 ネットワーク
40(41、・・、4n) 端末機(PC)

【特許請求の範囲】
【請求項1】
アプリケーションにより出力される処理要求情報に基づいて、APIを用いて所定の機能を実行する電子機器であって、
前記処理要求情報を入力し、この処理要求情報により指定された機能が利用可能であるか否かを判定し、この利用可否の判定結果に基づいて前記APIを制御するAPI制御手段と、
前記API制御手段により、前記処理要求情報により指定された機能が利用可能であると判定された場合に当該機能を実現する処理を実行する機能提供手段と、
を備えたことを特徴とする電子機器。
【請求項2】
前記API制御手段が、前記利用可否の判定を行う利用可否判定部を有し、この利用可否判定部により前記電子機器の所定の機能が有効又は無効である設定を含んだクラス設定情報に基づいて、判定を行うことを特徴とする請求項1記載の電子機器。
【請求項3】
前記機能提供手段は、前記電子機器の状態又は機能のステータスが変更されるイベントを監視し、この変更の内容を含んだステータス情報を前記API制御手段へ通知するイベント通知手段を備え、
前記クラス設定情報が、前記ステータス情報に対応づけて内容が更新されることを特徴とする請求項2記載の電子機器。
【請求項4】
請求項2又は3記載の電子機器がネットワークに接続され、
前記利用可否判定部により、前記機能が利用不可能であると判定された場合に、前記処理要求情報を記憶する記憶手段と、前記機能が利用可能である他の電子機器において代行処理を行うか否かを選択する代行処理選択指示部とを更に備え、
前記代行処理選択指示部において、代行処理を行うと選択された場合に、選択された所望の他の電子機器へ前記処理要求情報を前記ネットワークを介して送信し、当該他の電子機器により代行処理を実行することを特徴とする電子機器。
【請求項5】
前記利用可否判定部により、前記機能が利用不可能であると判定された場合に、利用不可能である旨を出力する報知手段を備えたことを特徴とする請求項2〜4のいずれか一項に記載の電子機器。
【請求項6】
前記代行処理選択指示部において、代行処理を行わないと選択された場合に、最初に前記機能を実行した電子機器において、前記機能が利用可能になるまで待機することを特徴とする請求項4又は5記載の電子機器。
【請求項7】
アプリケーションにより出力される処理要求情報に基づいて、APIを用いて所定の機能を実行する電子機器におけるアプリケーション実行方法であって、
前記処理要求情報を入力し、この処理要求情報により指定された機能が利用可能であるか否かを判定し、この利用可否の判定結果に基づいて前記APIを制御するAPI制御工程と、
前記API制御工程により、前記処理要求情報により指定された機能が利用可能であると判定された場合に当該機能を実現する処理を実行する機能提供工程と、
を備えたことを特徴とするアプリケーション実行方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate