説明

電気機器、障害防止方法及び障害防止プログラム

【課題】 不適切な処理の再発を防ぎ、ソフト・ハード又はシステムにおける障害の発生を効果的に防ぐ。
【解決手段】 アプリケーションからの呼び出し要求に応じ、対応する機能を提供する「提供する機能」機構14と、不具合が検出された機能の呼び出し要求を記憶する呼び出しパターン記憶機構12と、アプリケーションからの呼び出し要求と、前記呼び出しパターン記憶機構12によって記憶された呼び出し要求とを照合するパターン確認機構11と、を備え、前記照合が一致した場合、「提供する機能」機構14は、対応する機能をその呼び出し元のアプリケーションに提供しない構成としてある。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置等の電気機器に関し、より詳しくは、所定の機能を利用することによって効率よくアプリケーションを実行させることが可能な電気機器に関する。
【背景技術】
【0002】
従来、MFP等の画像形成装置には、プリンタ、コピー、ファクシミリ、スキャナなどの各機能単位でアプリケーションプログラムが組み込まれ、これらアプリケーションプログラムを稼働させるソフトウェア的な手段が予め搭載されている。
例えば、OS(Operating System)やプラットフォーム等は、アプリケーションプログラムが効率よく稼働するための機能としてAPI(Application Program Interface)と呼ばれるインタフェースを提供することが一般的に知られている。
【0003】
APIは、アプリケーションプログラムを記述するための言語やプラットフォームに応じた形式で用意され、その多くは、関数の形で提供される。
ここで、関数とは、関数(API)を識別するための文字列やバイナリデータからなる関数シグネチャとその関数を引き渡すためのパラメータ(引数)とによって構成されるものであり、必要な場合には、関数によって処理された値を呼び出し元へ戻すための機構がさらに存在する。
これを模式的に示せば下記のように表現することができる。
処理結果=関数シグネチャ(引数1、引数2、・・・)
このため、各アプリケーションにおいては、この様な機能を円滑に利用するため、いわゆる「機能を使う要素」(図7参照)は、予め上述のような形式で記述され、APIとして用意された関数を適切に使用できるようになっている。
【0004】
ここで、APIを正しく使用するには、APIに関するマニュアルやガイドラインを十分に調査した上でその使い方や引数等を決定しなければならないが、これらはすべて人的に行われる作業であり、間違いを起こす可能性がある。
この間違いに対しては、アプリケーション自身もしくはプラットフォーム等である程度の耐性を持ち、また、デバッグ等を可能とする環境が整っている場合には、大きな影響は受けない。
【0005】
しかし、APIの使用の仕方によっては重篤な影響を及ぼし、結果、アプリケーションのみならず、メモリデータやOS等、システム全体をクラッシュさせてしまうこともある。
例えば、図7は、上述の様子を模式的に示したものであり、APIの間違った使い方に起因して連鎖的に障害が発生する様子を示した模式図である。
図7に示すように、誤った方式で呼び出されたAPIは、その実装部分「提供する機能」、もしくは、「提供する機能」が呼び出す「関連する機能」において致命的な問題を引き起こし、結果、システム全体が危機的な状況となってしまう。
【0006】
このため、アプリケーションプログラム毎に利用可能なAPIを制限することが可能な情報処理装置が提案されている(例えば、特許文献1参照)。
この情報処理装置によれば、アプリケーションプログラムが利用可能なAPIを判断し、その判断結果に応じてAPIの動作を制御するようにして、アプリケーションプログラム毎に利用可能なAPIを任意に設定し制限することができるようになっている。
【0007】
【特許文献1】特開2005−258924号公報(第10図)
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、以上のような従来提案されている情報処理装置においては、予めアプリケーションプログラム毎に利用可能なAPIを設定しておかなければならず、具体的には、アプリケーションプログラムに対して所定のライセンス情報を付しておかなければならない。
このため、利用可能か否かの判断を事前にユーザが行わなければならず、人的作業のため、誤ったAPIの設定が行われる可能性がある。
また、ユーザが係る設定を予め行わなければならないため、非常に煩わしく不便である。
【0009】
本発明は、以上のような従来の技術が有する問題を解決するために提案されたものであり、不具合を経験することで不具合発生のパターンを学習し、これにより不適切な処理の繰り返しを防ぎ、結果、ソフト・ハード又はシステムにおける障害の発生を自ら防ぐことが可能な電気機器の提供を目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明の電気機器は、請求項1に記載するように、アプリケーションからの呼び出し要求に応じ、対応する機能を提供する機能提供手段と、提供された前記機能に関する不具合を検出するエラー検出手段と、不具合が検出された機能の呼び出し要求を記憶する呼び出し要求記憶手段と、アプリケーションからの呼び出し要求と前記呼び出し要求記憶手段によって記憶された呼び出し要求とを照合する照合手段と、前記照合が一致した場合には、対応する機能をその呼び出し元のアプリケーションに提供しない機能提供制限手段と、を備えた構成としてある。
【0011】
このような構成からなる本発明の電気機器によれば、アプリケーション実行の際に発生した不具合を検出し、その不具合を発生させた原因となった呼び出し要求を特定するようにしている。すなわち、不具合の発生は、誤った機能の呼び方や使い方に起因するものとみなして係る呼び出し要求を特定するものである。
そして、特定された呼び出し要求と同様の呼び出し要求が再度行われた場合には、不具合が発生する可能性が高いと判断し、求められた機能を提供しないように制御することとしている。
このため、一度不具合を経験した後は、これと同様の不具合の再発を確実に防ぐことができるようになる。
このように、本発明によれば、装置自らが不具合発生の特徴を学習する機能を備え、その学習内容に応じて自動的に不具合の発生を防ぐ仕組みを採っているため、信頼性及び利便性に優れた電気機器を実現している。
【0012】
また、本発明の電気機器は、請求項2に記載するように、アプリケーションからの呼び出し要求を構成する呼び出しパターンを検出するパターン検出手段を備え、前記呼び出し要求記憶手段は、不具合が検出された機能の呼び出し要求に係る前記呼び出しパターンを記憶するとともに、前記照合手段は、前記パターン検出手段によって検出された呼び出しパターンと、前記呼び出し要求記憶手段によって格納されている呼び出しパターンとを照合するようにしてある。
【0013】
このような構成からなる本発明の電気機器によれば、不具合発生の要因として特定されるアプリケーションからの呼び出し要求をさらに分解して特徴的な要素を抽出し、これらの要素を組み合わせたパターンデータを保持するようにしてある。このため、呼び出し要求の構成を詳細に把握することが可能となり、不具合発生の特徴を的確に反映させることができるようになる。
したがって、不具合の発生をより確実に防ぎ、信頼性が更に優れた電気機器を実現することが可能になる。
【0014】
更に、本発明の電気機器は、請求項3に記載するように、前記照合手段による照合が一致した場合には、呼び出し元のアプリケーションに対し所定のダミー信号を返信するダミー信号返信手段を備えた構成としてある。
【0015】
このような構成からなる本発明の電気機器によれば、所定の照合が一致した場合、すなわち、不具合が発生するおそれのある呼び出しが再度要求された場合、係る機能の提供を制限するだけでなく、誤った機能の呼び出しが行われている旨を呼び出し元のアプリケーションに通知するようにしている。
これにより、本来は不具合が発生する危険性が高いことをユーザに伝えることができる。
このため、不具合の発生を抑えつつも改善措置を促し、ユーザは余裕を持って必要な措置を採ることができる。
【0016】
また、本発明の電気機器は、請求項4に記載するように、前記機能提供手段は、アプリケーションからの呼び出し要求に応じ、対応するアプリケーションプログラムインタフェースを介して所定の機能を提供し、前記機能提供制限手段は、前記照合手段における照合が一致した場合には、対応するアプリケーションプログラムインタフェースを介して所定の機能を提供しないようにしてある。
【0017】
このような構成からなる本発明の電気機器によれば、アプリケーションからの不適切なインタフェース(API)の呼び出しによる誤った機能の提供を防ぐことができる。
これにより、アプリケーションのみならず、APIを実装するOSやこれに関連する機能その他システム全体に及ぶ重篤な障害発生を回避することができる。
【0018】
また、本発明の障害防止方法は、請求項5に記載するように、機能の誤用に起因する障害発生を防止するための障害防止方法であって、アプリケーションからの呼び出し要求に応じ、対応する機能を提供するステップと、提供された前記機能に関する不具合を検出するステップと、不具合が検出された機能の呼び出し要求を記憶するステップと、アプリケーションからの呼び出し要求と、前記記憶された呼び出し要求とを照合するステップと、前記照合が一致した場合には、対応する機能をその呼び出し元のアプリケーションに提供しないステップと、を有する方法としてある。
【0019】
このように、本発明は上述した装置発明だけでなく、方法発明としても実現化することができる。
したがって、ハードウェアの構成にとらわれることなく発明を実施することができるため、汎用性、拡張性に優れた方法として提供することが可能である。
【0020】
また、本発明の障害防止プログラムは、請求項6に記載するように、所定の機能を利用してアプリケーションを実行する電気機器において、前記機能の誤用に起因する障害発生を防止するための障害防止プログラムであって、前記電気機器を構成するコンピュータを、アプリケーションからの呼び出し要求に応じ、対応する機能を提供する機能提供手段、提供された前記機能に関する不具合を検出するエラー検出手段、不具合が検出された機能の呼び出し要求を記憶する呼び出し要求記憶手段、アプリケーションからの呼び出し要求と前記呼び出し要求記憶手段によって記憶された呼び出し要求とを照合する照合手段、前記照合が一致した場合には、対応する機能をその呼び出し元のアプリケーションに提供しない機能提供制限手段、として機能させるためのプログラムとしてある。
【0021】
このように本発明はプログラムとしても実現化することができる。
これにより、プリンタ、複写機、複合機等の画像形成装置のみならず、各種アプリケーションを搭載する情報処理装置にプログラムをインストールすることによって本発明を実現することができ、汎用性,拡張性に優れた障害防止プログラムとして提供することができる。
【発明の効果】
【0022】
以上のように、本発明によれば、不適切な処理の再発を防ぎ、ソフト・ハード又はシステムにおける障害の発生を効果的に防ぐことが可能となる。
【発明を実施するための最良の形態】
【0023】
以下、本発明の好ましい実施形態について図1〜図6を参照して説明する。
ここで、以下に示す本実施形態のMFP(Multifunction
Peripheral)は、プログラム(ソフトウェア)の命令によりコンピュータで実行される処理,手段,機能によって実現される。プログラムは、コンピュータの各構成要素に指令を送り、以下に示すような所定の処理・機能を行わせる。すなわち、本実施形態のMFPにおける各処理・手段は、プログラムとコンピュータとが協働した具体的手段によって実現される。
なお、プログラムの全部又は一部は、例えば、磁気ディスク,光ディスク,半導体メモリ,その他任意のコンピュータで読取り可能な記録媒体により提供され、記録媒体から読み出されたプログラムがコンピュータにインストールされて実行される。また、プログラムは、記録媒体を介さず、通信回線を通じて直接にコンピュータにロードし実行することもできる。
【0024】
図1は、本発明の一実施形態に係るMFPの全体構成を示すブロック図であり、図2は、本実施形態に係るMFPの主構成部であるMFPサービス部1の構成を示すブロック図である。
本実施形態のMFPは、コピー機能、スキャナ機能、プリント機能、ファクシミリ機能等を一筐体に備えており、本発明の電気機器を構成する。
【0025】
図1に示すとおり、MFPは、MFPサービス部1,MFPメイン部2及びアプリケーション部3によって構成されている。
MFPサービス部1は、アプリケーション部3からのAPI呼び出しに応じて対応するAPIを呼び出し、このAPIを介して「提供する機能」機構14が必要な機能を提供するとともに、所定の場合には、MFPメイン部2の「関連する機能」機構が連動して働く仕組みとなっている。
【0026】
本実施形態に係るMFPの主たる構成部はMFPサービス部1であり、図2に示すとおり、MFPサービス部1は、さらに、パターン検出機構10、パターン確認機構11、パターン記憶機構12、パターン記憶部13、「提供する機能」機構14及びエラー返答形成機構15によって構成されている。
なお、MFPサービス部1における各機構はコントローラ100の配下にあり、当該コントローラ100の制御により所定の動作を行う仕組みになっている。
以下、MFPサービス部1の各機構についてそれぞれ詳細に説明する。
【0027】
パターン検出機構10は、アプリケーションからのAPI(機能)呼び出し要求を解析し、所定のパターンデータを検出するものであり、本発明のパターン検出手段を構成するものである。
具体的には、主に、API呼び出しの引数の構成から特定のパターンを認識する。
ただし、APIは複数の関数で構成されている場合があるので、その場合のパターンデータは関数シグネチャとの関連とともに抽出される。
例えば、API呼び出しが、関数DoService(1,“情報”,true)の場合、引数としては、整数値としての1、文字列としての“情報”、BOOL値としてのtrueがパターンデータとして関数シグネチャ「DoService」とともに抽出される。
なお、関数シグネチャは、説明の都合上、文字列で示しているが、APIの実現においては関数ポインタ(アドレス)もしくは呼び出し番号のようなものであっても良い。
なお、ここで取り上げたAPI関数「DoService」に関する記述例については、後に図5を参照しながら説明する。
【0028】
パターン確認機構11は、パターン検出機構10によって抽出されたパターンデータを受け取り、パターン記憶部13に記憶されているこれまでのパターンデータの記録と比較するものであり、本発明の照合手段を構成する。
端的に言えば、アプリケーションからのAPI呼び出しが不適切なものか否かを判定する機構であり、アプリケーションからのAPI呼び出しと一致するデータがパターン記憶部13に存在する場合には、その呼び出しは、障害を引き起こす可能性が高いと判定される。
【0029】
パターン記憶機構12は、「提供する機能」機構14においてその機能の提供又は実行に際し、不具合が検出された場合にその元の呼び出しに係るパターンデータを特定しパターン記憶部13に記憶させるものであり、本発明の呼び出し要求記憶手段を構成する。
また、不具合の検出をトリガーとするのではなく、予め設定されるモードによって、一旦すべてのAPI呼び出しに係るパターンデータを記録し、その処理が問題を引き起こさなかった場合に記録を消去するようにしても良い(記録確実モード)。
この場合、万一、危機的な不具合が発生しても、パターンデータは確実に記録されるため有効である。
さらに、新規アプリケーションのインストールが発生すると、一定の期間に限り前述の記録確実モードとなり、当該期間は、すべてのAPI呼び出しに係るパターンデータが記録されるようにしても良い(検疫監視モード)。
本モードを設定することにより、導入段階において一定の試用期間を設けることができ、動作が安定するまで状態を監視することが可能である。
なお、パターンデータの記録は、履歴とは異なり、同じパターンデータが重複して記録されることはないため、メモリ等の節約も配慮された仕組みとなっている。
【0030】
パターン記憶部13は、前述の通り、不具合に係るAPI呼び出しのパターンデータを記録しておくもので、メモリ等の記憶媒体によって構成される。
これらの記録は、ユーザの操作によって消去されるようにしてもよく、また、時限的な設定によって自動的に消去されるようにしてもよい。
この場合、パターンデータが消去されても同じアプリケーションが再度同じエラーを引き起こした場合、再びそのパターンデータを記憶するようにしておくこととする。
これにより、判定の精度は多少落ちるが、記憶領域を節約することができる。
また、パターン記憶部13に記録されたパターンデータは、外部ファイルとしてエクスポートすることが可能であり、また、他の同等システムにおいてその様なエクスポートファイルをインポートすることも可能である。
このように、あるシステムで学習した結果を他のシステムで直ちに適用することもでき、また、外部の試験環境においてAPI呼び出しの異常パターンを観測することも可能である。
【0031】
「提供する機能」機構14は、アプリケーションに対し、求められたAPIを割り当て、所定の機能を提供するものであり、本発明の機能提供手段を構成する。具体的には、OS等のAPI実装部分がこれに相当する。
なお、本実施形態では、パターン確認機構11において、以前に不具合が生じたところの呼び出しパターンが再度確認できた場合には、APIを切り離し、係る機能を提供しないように制御している(本発明の機能提供制限手段)。
また、この場合、エラー返答形成機構15では、擬似的にかつ安全な形式でのAPI呼び出しエラー情報を生成し、ダミーのAPI使用結果を返答することも可能である(本発明のダミー信号返信手段)。
例えば、APIが戻り値を持つ関数の場合には無効値やエラーコードを返すように設定し、呼び出したアプリケーションに対し、例外を発生する形式であれば予め定義された例外をスローするようにすればよい。
【0032】
次に、以上のような構成からなる本実施形態のMFPにおける動作手順について図3及び図4を参照しつつ説明する。
図3は、本実施形態に係るMFPにおけるエラー学習に関する動作手順を示したフローチャートであり、図4は、本実施形態に係るMFPにおける学習結果に基づく保護動作手順を示したフローチャートである。
まず、本実施形態に係るMFPにおける障害学習の手順について、図3を参照しながら説明する。
【0033】
図3に示すとおり、まず、アプリケーション部3のアプリケーションが、API(機能)呼び出し"function(a,b,c)"を行ったものとする(S1)。
これに応じてMFPサービス部1では所定のAPIが呼び出されるとともに、パターン検出機構10がAPI呼び出し"function(a,b,c)"を抽出する(S2)。
次に、パターン検出機構10は、API呼び出しに基づき所定のパターンデータを抽出する(S3)。
パターンデータは、API呼び出しを構成するデータの組み合わせによって形成されるパターンデータとすることが好ましい。
例えば、図3の例では、API呼び出し"function(a,b,c)"から各構成要素“function”、“a”、“b”、“c”がそれぞれ抜き出されてパターンデータ("function",a,b,c)が形成され、後に記録や照合の対象とされる。
【0034】
ここで、本来、このパターンデータとパターン記憶部13に履歴として記録されている不具合に係るパターンデータとの照合をパターン確認機構11に依頼する手順となるが、図3の例は、未だ不具合が発生しておらず、係る呼び出しのパターンデータが記録されていないケースを想定しているため、実質、照合不一致とみなして、通常の処理が継続されることとなる。
なお、この照合が一致した場合の処理については、後に図4を参照しながら説明する。
【0035】
ステップS3の後、パターン検出機構10は、抽出したAPI呼び出し"function(a,b,c)"を「提供する機能」機構14に受け渡す(S4)。
「提供する機能」機構14では、呼び出されたAPIに基づき所定の機能を提供し、実行を行うが、ここで、何らかの障害が発生したとする(S5)。
「提供する機能」機構14は、所定のエラー検出手段によって係る障害を検出すると、例外と認識し、所定の例外通知をパターン検出機構10に送信する(S6)。
【0036】
次に、例外通知を受けたパターン検出機構10は、ステップS3において抽出したパターンデータ("function",a,b,c)をパターン記憶機構12に受け渡す(S7)。
そして、パターン記憶機構12は、受け取ったパターンデータをパターン記憶部13に記録することとなる。
これにより、不具合を引き起こす可能性が高い不適切なAPI呼び出しが特定され、一定の学習結果を得ることとなる。
【0037】
一方、パターン検出機構10は、例外通知を、所定のAPIを介してその呼び出し元であるアプリケーションまで伝達する(ステップS8、S9)。
これにより、ユーザは、障害発生を認識することができ、必要なエラー処理(例えば、システムの再起動等)を行うことができる。
【0038】
次に、前述の学習結果に基づく保護動作の手順について図4を参照しながら説明する。
ここでは、前述の図3と同様、まず、アプリケーションが、API呼び出し"function(a,b,c)"を行ったものとする(S11)。
これに応じてMFPサービス部1では所定のAPIが呼び出されるとともに、パターン検出機構10がAPI呼び出し"function(a,b,c)"を抽出する(S12)。
次に、パターン検出機構10は、API呼び出しに基づき所定のパターンデータ("function",a,b,c)を抽出し、パターン確認機構11に対し、その抽出されたパターンデータの照合を依頼する(S13)。
【0039】
ステップS13を受けて、パターン確認機構11はパターン記憶部13を検索し、ステップS12において抽出されたパターンデータ("function",a,b,c)とパターン記憶部13に記録されているパターンデータとの照合を行う(S14)。
図4の例では、ステップS14における照合(検索)の結果、照合の一致が認められるため(図3のステップS7参照)、パターン確認機構11は、パターン検出機構10に対しその旨の通知(本例の場合は"true")を行う。
なお、係る照合が一致しない場合は、図3の例と同様に、通常の処理が継続される。
【0040】
そして、パターン検出機構10は、エラー返答形成機構15に対し、ダミーの返答データ(fakeデータ)を発信するように依頼を行う(S15)。
エラー返答形成機構15は、所定のfakeデータをパターン検出機構10に返し(S16)、APIを介して要求元のアプリケーションに伝達されることとなる(S17、S18)。
これにより、ユーザは、APIや機能が誤って呼び出されている事実を認識することができ、安全にしかるべき措置を採ることが可能となる。
【0041】
次に、本実施形態に係るMFPにおける実際のパターンデータのXML記述例について図5を参照しながら説明する。
ここでは、前述のAPI「DoService」の例について、XML(Extensible Markup Language)で記述した2つのケースについて説明する。
図5(a)に示すとおり、ここでは、タグ<signature>によって開始されるノードの中で、エラーを起こしたパターンが<pattern>タグで記録される。
また、一つのpatternノードの中にはパラメータの実値が記録されている。
なお、<errors>タグ部分には、このパターンで実際に発生したエラー情報が記録され、ユーザが参照できるようになっている。
一方、図5(b)では、関数シグネチャを関数名部分に限定するのではなく、関数の引数の数、それぞれのデータ型、戻り値の有無並びにデータ型等を総合したものを関数シグネチャとした場合のXML記述例を示したものである。
このような場合は、<signature>タグ部分に関数シグネチャに対応する情報が記録され、パラメータ部分には単にパラメータを羅列するように記述すればよい。
【0042】
以上説明したように、本実施形態のMFPによれば、「提供する機能」機構14において何らかの不具合を検出すると、パターン検出機構10が対応するAPI呼び出しパターンを抽出し、パターン記憶機構12がその呼び出しのパターンデータを記録するようにしている。
そして、アプリケーション部3からのAPI呼び出しのパターンが、予め記録されている呼び出しのパターンと一致した場合には障害を引き起こす可能性が高い呼び出しと判断して、「提供する機能」機構14の動作を制限するようにしている。
このため、不適切なAPIや機能の使用に起因する「提供する機能」機構14の障害のみならず、隣接する「関連する機能」機構やシステム全体に及ぶ障害の発生を未然に防ぐことができるようになる。
【0043】
具体的には、MFPにおいてジョブ処理待ち中に使用する時間つぶしアプリケーション、すなわちゲーム利用時の対応策が想定される。
ゲームのようなアプリケーションソフトでは、MFPの持つ固有のサービスを使うことはあまり無いとと考えられるが、何らかの理由や目的で、或いは、作り手のミスでMFPの機能を呼び出すケースがあり得る。
特に、MFP上でジョブ処理が行われている場合は、通常時(idle時)よりも不具合を発生する可能性が高いと考えられる。
このような場合に、APIを直接排除するような措置を実行すると、エラーが発生し、ジョブ処理が中断しかねない。
そこで、このようなアプリケーションの使用を禁止する措置を採る一方で、本実施形態に係るMFP又は係るプログラム等を採用することによってソフトウェアメカニズムで障害の発生を最低限に抑えることが可能となる。
【0044】
このように、本実施形態によれば、装置自身が不具合を経験することで不具合発生のパターンを学習し、これにより不適切な処理の繰り返しを防ぐことができるようになっている。
その結果、ソフト・ハード又はシステム全体に及ぶ障害の発生を未然に防ぐことができ、耐久性を備え、信頼性及び利便性に優れたMFPを実現することが可能となる。
【0045】
[他の実施形態]
次に、本発明の他の実施形態に係るMFPについて図6を参照しながら説明する。
図6は、本発明の他の実施形態に係るMFPの主構成部であるMFPサービス部1の構成を示すブロック図である。
図6に示すとおり、本実施形態のMFPは、前述の実施形態に係るMFPとその構成が同様であるが、加えて、アプリ管理機構16及びアプリ識別機構17を備える点で異なる。
【0046】
アプリ識別機構16は、APIを使用するアプリケーションに関する情報を予めプラットフォームから抽出しておくものである。
アプリ管理機構17は、アプリ識別機構16によって抽出されたアプリ識別情報を保持しておくものである。
具体的には、パターン確認機構11が、API呼び出しがあった際、アプリ管理機構17で保持されたアプリ識別情報にアクセスし、係るAPI呼び出しと併せて照合の判断材料とする。
【0047】
例えば、あるアプリケーションからの特定のAPI呼び出しについては障害を発生させる可能性があるして不適切と判断するが、他のアプリケーションから同じAPI呼び出しが行われたとしても、適切な呼び出しと判断することができる。
反対に、あるアプリケーションからの特定のAPI呼び出しについては適切と判断するが、他のアプリケーションから同じAPI呼び出しが行われたとしても、これを不適切な呼び出しと判断することができる。
このように、本実施形態によれば、アプリケーション単位でAPI呼び出しに関する判定を行うことが可能である。
【0048】
以上説明したように、本実施形態のMFPによれば、前述の実施形態と同様の効果が発揮されるだけでなく、アプリ識別機構16が、アプリケーションに関する識別情報を抽出し、それをアプリ管理部17が保持するようにしている。
そして、パターン確認機構11が、アプリ管理部17に保持してある識別情報を参照しながら各API呼び出し要求を照合するようにしているため、障害を引き起こす可能性の高いAPI呼び出し要求をより正確に特定することが可能となる。
したがって、本実施形態によれば、不具合に対して更に耐久性が高く、信頼性に優れたMFPを実現することができる。
【0049】
以上、本発明の電気機器について、好ましい実施形態を示して説明したが、本発明にかかる電気機器は、上述した実施形態にのみ限定されるものではなく、本発明の範囲で種々の変更実施が可能であることは言うまでもない。
例えば、本実施形態では、MFPを典型例として説明しているが、プリンタ、コピー機等の他の画像形成装置又は情報処理装置に本発明を適用しても良く、これにより、拡張性を高めることが可能である。
【0050】
また、本実施形態では、Java(登録商標)の仮想マシン環境等、MFPに搭載されたアプリケーション実行環境を想定しているが、いわゆるシミュレータ、エミュレータの仮装実行環境においてこの機能が実現されてもよい。
これにより、アプリケーションの評価(デバッグ)等を含めたソフトウェアの開発に応用することが可能となる。
【0051】
さらに、長大なレコードを取り扱うデータベースアプリケーションに本実施形態を応用しても良い。
データベースシステムでは、一般に、レコード数が嵩むにつれて、データベースアクセスには時間がかかり、その分、リソースやシステムへ与えるインパクトが大きくなる。このことは、潜在的にシステム不具合の可能性を増加し、障害発生の危険度を高めることに繋がる。また、システムの状況が導入後に変化していく場合、アプリケーションは同じ動作パターンを繰り返していても、将来的に不具合を起こす可能性は残っている。
そのような場合、本発明の障害防止方法やプログラムを導入することにより、ログ機能などで改善情報を収集しつつ、システム全体への影響波及を食い止め生産性を損なわない効果をもたらすことができる。
【産業上の利用可能性】
【0052】
本発明は、APIを提供するOSが組み込まれた情報処理装置等に好適に利用することができる。
【図面の簡単な説明】
【0053】
【図1】本発明の一実施形態に係るMFPの全体構成を示すブロック図である。
【図2】本発明の一実施形態に係るMFPの主構成部であるMFPサービス部1の構成を示すブロック図である。
【図3】本発明の一実施形態に係るMFPにおけるエラー学習に関する動作手順を示したフローチャートである。
【図4】本発明の一実施形態に係るMFPにおける学習結果に基づく保護動作手順を示したフローチャートである。
【図5】本発明の一実施形態に係るMFPにおける実際のプログラム上のパターンデータを示した記述例である。
【図6】本発明の他の実施形態に係るMFPの主構成部であるMFPサービス部1の構成を示すブロック図である。
【図7】従来のMFPの問題を説明するための説明図である。
【符号の説明】
【0054】
1 MFPサービス部
2 MFPメイン部
3 アプリケーション部
10 パターン検出機構
11 パターン確認機構
12 パターン記憶機構
13 パターン記憶部
14 「提供する機能」機構
15 エラー返答形成機構
16 アプリ管理機構
17 アプリ識別機構

【特許請求の範囲】
【請求項1】
アプリケーションからの呼び出し要求に応じ、対応する機能を提供する機能提供手段と、
提供された前記機能に関する不具合を検出するエラー検出手段と、
不具合が検出された機能の呼び出し要求を記憶する呼び出し要求記憶手段と、
アプリケーションからの呼び出し要求と、前記呼び出し要求記憶手段によって記憶された呼び出し要求とを照合する照合手段と、
前記照合が一致した場合には、対応する機能をその呼び出し元のアプリケーションに提供しない機能提供制限手段と、
を備えることを特徴とする電気機器。
【請求項2】
アプリケーションからの呼び出し要求を構成する呼び出しパターンを検出するパターン検出手段を備え、
前記呼び出し要求記憶手段は、
不具合が検出された機能の呼び出し要求に係る前記呼び出しパターンを記憶するとともに、
前記照合手段は、
前記パターン検出手段によって検出された呼び出しパターンと、前記呼び出し要求記憶手段によって格納されている呼び出しパターンとを照合する請求項1記載の電気機器。
【請求項3】
前記照合手段による照合が一致した場合には、呼び出し元のアプリケーションに対し所定のダミー信号を返信するダミー信号返信手段を備える請求項1又は2記載の電気機器。
【請求項4】
前記機能提供手段は、
アプリケーションからの呼び出し要求に応じ、対応するアプリケーションプログラムインタフェースを介して所定の機能を提供し、
前記機能提供制限手段は、
前記照合手段における照合が一致した場合には、対応するアプリケーションプログラムインタフェースを介して所定の機能を提供しない請求項1乃至3のいずれか一項記載の電気機器。
【請求項5】
機能の誤用に起因する障害発生を防止するための障害防止方法であって、
アプリケーションからの呼び出し要求に応じ、対応する機能を提供するステップと、
提供された前記機能に関する不具合を検出するステップと、
不具合が検出された機能の呼び出し要求を記憶するステップと、
アプリケーションからの呼び出し要求と、前記記憶された呼び出し要求とを照合するステップと、
前記照合が一致した場合には、対応する機能をその呼び出し元のアプリケーションに提供しないステップと、
を有することを特徴とする障害防止方法。
【請求項6】
所定の機能を利用してアプリケーションを実行する電気機器において、前記機能の誤用に起因する障害発生を防止するための障害防止プログラムであって、
前記電気機器を構成するコンピュータを、
アプリケーションからの呼び出し要求に応じ、対応する機能を提供する機能提供手段、
提供された前記機能に関する不具合を検出するエラー検出手段、
不具合が検出された機能の呼び出し要求を記憶する呼び出し要求記憶手段、
アプリケーションからの呼び出し要求と、前記呼び出し要求記憶手段によって記憶された呼び出し要求とを照合する照合手段、
前記照合が一致した場合には、対応する機能をその呼び出し元のアプリケーションに提供しない機能提供制限手段、
として機能させるための障害防止プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−110357(P2009−110357A)
【公開日】平成21年5月21日(2009.5.21)
【国際特許分類】
【出願番号】特願2007−282994(P2007−282994)
【出願日】平成19年10月31日(2007.10.31)
【出願人】(000006150)京セラミタ株式会社 (13,173)
【Fターム(参考)】