(57)【特許請求の範囲】
【請求項１】
非組み込みアプリケーションをインストールできる画像処理装置において、
所定のプロトコルに従って分散オブジェクト呼出しを制御する制御手段と、
少なくとも１つの組み込みアプリケーションからのサービス要求を受け取って当該サービス要求に関連して関係記憶手段に登録されている第２の分散オブジェクト宛に上記プロトコルに準拠した対応するサービス要求を上記制御手段を介して送信する第１の分散オブジェクトを実行する第１の分散オブジェクト実行手段と、
上記制御手段から上記プロトコルに準拠したサービス要求を受け取って対応する外部アプリケーションに当該外部アプリケーションに準拠したサービス要求を渡す第２の分散オブジェクトを実行する第２の分散オブジェクト実行手段と、
上記組み込みアプリケーションからのサービス要求に対応する第２の分散オブジェクトを上記関係記憶手段に登録する登録手段とを有することを特徴とする画像処理装置。
【請求項２】
上記非組み込みアプリケーションから上記組み込みアプリケーションへのサービス要求を禁止する請求項１記載の画像処理装置。
【請求項３】
上記制御手段はＣＯＲＢＡのプロトコルに準拠して制御を行う請求項１または２記載の画像処理装置。
【請求項４】
上記組み込みアプリケーションは原稿をスキャンして電子画像を形成するアプリケーションである請求項１〜３のいずれかに記載の画像処理装置。
【請求項５】
上記非組み込みアプリケーションは、メール送信アプリケーション、文字認識アプリケーション、ＦＴＰ転送アプリケーション、およびＳＭＢ転送アプリケーションのうちの少なくとも１つを含む請求項１〜４のいずれかに記載の画像処理装置。
【請求項６】
第２のグループのアプリケーションへのサービス要求を出力する第１のグループのアプリケーションを実行する第１の実行手段と、
サービスを実行する上記第２のグループのアプリケーションを実行する第２の実行手段と、
分散オブジェクト呼出しを制御する制御手段と、
上記制御手段を用いる第１の分散オブジェクトであって、上記第１のグループのアプリケーションからのサービス要求を受け取ってテーブルに予め登録されている第２の分散オブジェクト宛に上記制御手段を介して送信する上記第１の分散オブジェクトを実行する第３の実行手段と、
上記制御手段を用いる第２の分散オブジェクトであって、上記制御手段から受け取ったサービス要求を上記第２のグループのアプリケーションへ渡す上記第２の分散オブジェクトを実行する第４の実行手段と、
上記テーブルに上記第１のアプリケーションからのサービス要求に対応する第２の分散オブジェクトを登録する登録手段とを有することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複合機等の画像処理装置に関する。
【背景技術】
【０００２】
従来、既存製品としての複合機のアプリケーションはすべて組み込み型で、コピー、スキャン、プリント等の標準機能のアプリケーションに加え、オプションの画像処理、転送処理、加工処理等のアプリケーションもすべて複合機内部の組み込み型のプログラムで処理されていた。これに対し、特許文献１では、転送処理や、ＯＣＲ等の外部アプリケーションを後からインストールする手段を備えることで、複合機の開発工数を減らし、複合機の出荷後に外部アプリケーションを追加し、多種多様な機能を搭載可能にすることを提案している。また、特許文献２は、組み込み型電子装置にプラグインを拡張する場合に、ＪＡＶＡ（商標）のようなインタプリタ上で動作させることにより、柔軟で同多岐な拡張を可能にすることを提案している。さらに特許文献３では、外部装置に保存し、パスと名称を管理することにより、組み込み機器を出荷後に、ＪＡＶＡ仮想マシン上にアプリケーションをインストールしたり、起動させたりすることを提案している。
【０００３】
ところで、引用文献１〜３のいずれの場合でも、組み込みアプリケーション側が外部アプリケーションに対しインタフェースを提供するのが一般的であり、インタフェース仕様に基づき、外部アプリケーションと組み込みアプリケーションとの間で相互に呼び合える方式をとっているので、組み込みアプリケーションが呼び出した外部アプリケーションが、呼び元の組み込みアプリケーションを呼ぶことで、システム上の衝突が発生したり、外部アプリケーションの不具合によるシステムへの影響が発生したりする。また、外部アプリケーションから組み込みアプリケーションを呼べてしまうので、セキュリティホールにもなる。
【０００４】
特許文献２および３において、外部アプリの不具合をシステムへ影響させないよう、ＪＡＶＡ等のインタプリタ（仮想マシン）上で動作させているが、ネイティブ動作に較べ処理速度の低下と、機能の制限が発生する。
【０００５】
複合機等の画像処理装置において、標準機能であるコピーやスキャンやプリントの組み込みアプリケーション（以下ＭＦＰ機能すなわちマルチファンクションペリフェラル機能と呼ぶこともある）に影響を与えることなく、オープンソースソフトウェア等の外部アプリケーション（以下外部アプリと呼ぶこともある）を使用可能にした仕組みが要請されている。これにより、外部ベンダが開発する最新で優秀な外部アプリを組みこむ際、外部アプリの不具合に影響されることなく、安全に最新の機能に入れ換えることも可能となる。
【０００６】
なお、画像処理装置は、主に複合機を念頭に置くものであるけれども、スキャナ装置等であってもよい。
【０００７】
また、上述の従来技術やその問題点は、この発明の背景の一部を説明するためにのみ準備されたものであり、この発明は上述の従来技術や問題点に限定されるものではない点に留意されたい。
【特許文献１】特開２００４−１１８２３７号公報
【特許文献２】特開２００３−２５６２１６号公報
【特許文献３】特開２００２−２８７９９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
この発明は、以上の事情を考慮してなされたものであり、既存のアプリケーションに悪影響を与えることなく外部アプリケーションをインストール可能にした画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【０００９】
この発明の原理的な構成例によれば、上述の目的を達成するために、複合機等の画像処理装置において、組み込みアプリケーションとは別に外部アプリケーションをインストール可能にし、外部アプリケーションと組み込みアプリケーションとのブリッジ部分（サービス要求を代理して送信する部分、以下ではプロキシとも呼ぶ）に、事前に外部アプリケーション用のリスナを登録しておくことにより、組み込みアプリケーションが必要に応じて外部アプリケーションを呼び出せるようにしている。プロキシは、組み込みアプリケーションから外部アプリケーションを呼び出すだけの、いわゆる一方通行の制御を行ない、出入り口を制約し、監視することにより、組み込みアプリケーションが呼び出した外部アプリケーションが、さらに組み込みアプリケーションを呼び出せないようにしている。
【００１０】
この構成においては、既存のアプリケーションに悪影響を与えることなく外部アプリケーションをインストール可能である。
【００１１】
さらにこの発明を説明する。なお、理解を容易にするために実施例で対応箇所の符号を併せて示すけれども、この発明はそれに限定されない。
【００１２】
この発明の一側面によれば、上述の目的を達成するために、非組み込みアプリケーション（２１〜２３）をインストールできる画像処理装置（１００）に：所定のプロトコルに従って分散オブジェクト呼出しを制御する制御手段（２４ａ）と；少なくとも１つの組み込みアプリケーションからのサービス要求を受け取って当該サービス要求に関連して関係記憶手段（１０４ａ）に登録されている第２の分散オブジェクト（２０）宛に上記プロトコルに準拠した対応するサービス要求を上記制御手段（２４ａ）を介して送信する第１の分散オブジェクト（１０４）を実行する第１の分散オブジェクト実行手段（１０３）と；上記制御手段（２４ａ）から上記プロトコルに準拠したサービス要求を受け取って対応する外部アプリケーションに当該外部アプリケーションに準拠したサービス要求を渡す第２の分散オブジェクト（２０）を実行する第２の分散オブジェクト実行手段（１０３）と；上記組み込みアプリケーションからのサービス要求に対応する第２の分散オブジェクトを上記関係記憶手段に登録する登録手段（２５）とを設けるようにしている。
【００１３】
この構成によれば、第１の分散オブジェクトおよび第２の分散オブジェクトの間の分散オブジェクト呼出しを用いて制約した環境下で組み込みアプリケーションから非組み込みアプリケーションへの呼出しを行える。関係記憶手段への第２の分散オブジェクトの登録により任意の非組み込みアプリケーションを利用できる。なお、分散オブジェクト実行手段は分散オブジェクトを実行させるために協働して動作するオペレーティングシステムを含むソフトウェアおよびハードウェア資源からなる。
【００１４】
また、この構成において、上記非組み込みアプリケーションから上記組み込みアプリケーションへのサービス要求を禁止することが好ましい。
【００１５】
また、上記制御手段は典型的にはＣＯＲＢＡのプロトコルに準拠して制御を行が、これに限定されない。
【００１６】
また、上記組み込みアプリケーションは典型的には原稿をスキャンして電子画像を形成するアプリケーションである。
【００１７】
また、上記非組み込みアプリケーションは、典型的には、メール送信アプリケーション、文字認識アプリケーション、ＦＴＰ転送アプリケーション、およびＳＭＢ転送アプリケーションのうちの少なくとも１つを含む。
【００１８】
また、この発明の他の側面によれば、画像処理装置に：第２のグループのアプリケーションへのサービス要求を出力する第１のグループのアプリケーションを実行する第１の実行手段と；サービスを実行する上記第２のグループのアプリケーションを実行する第２の実行手段と；分散オブジェクト呼出しを制御する制御手段と；上記制御手段を用いる第１の分散オブジェクトであって、上記第１のグループのアプリケーションからのサービス要求を受け取ってテーブルに予め登録されている第２の分散オブジェクト宛に上記制御手段を介して送信する上記第１の分散オブジェクトを実行する第３の実行手段と；上記制御手段を用いる第２の分散オブジェクトであって、上記制御手段から受け取ったサービス要求を上記第２のグループのアプリケーションへ渡す上記第２の分散オブジェクトを実行する第４の実行手段と；上記テーブルに上記第１のアプリケーションからのサービス要求に対応する第２の分散オブジェクトを登録する登録手段とを設けている。
【００１９】
第１のグループのアプリケーションは典型的には組み込み型のアプリケーションであり、第２のグループのアプリケーションは非組み込み型すなわち後発的にインストールされるアプリケーションである。
【００２０】
この構成においても、第１の分散オブジェクトおよび第２の分散オブジェクトの間の分散オブジェクト呼出しを用いて制約した環境下で組み込みアプリケーションから非組み込みアプリケーションへの呼出しを行える。関係記憶手段への第２の分散オブジェクトの登録により任意の非組み込みアプリケーションを利用できる。
【００２１】
なお、この発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品もこの発明の技術的な範囲に含まれることも当然である。
【００２２】
この発明の上述の側面および他の側面は特許請求の範囲に記載され以下実施例を用いて詳述される。
【発明の効果】
【００２３】
この発明によれば、既存のアプリケーションに悪影響を与えることなく外部アプリケーションをインストール可能にした画像処理装置を実現できる。
【発明を実施するための最良の形態】
【００２４】
以下、この発明の実施例について説明する。
【００２５】
図１は、この発明を複合機に適用した実施例を示している。なお、図１は主にソフトウェアの構成を示すものであり、複合機のハードウェア構成は省略している。
【００２６】
図１において、複合機１００は、ＭＦＰブロック１０１、外部アプリケーションブロック１０２から構成されている。ＭＦＰブロック１０１および外部アプリケーションブロック１０２はオペレーティングシステム１０３上で動作するようになっている。オペレーティングシステム１０３は、典型的には、オープンソースソフトウェアが多く提供されているＬｉｎｕｘであるがこれに限定されない。ＭＦＰブロック１０１は、ＵＩ（ユーザインタフェース）部１０、スキャン部１１、プリント部１２、画像入力部１３、画像出力部１４等を有しており、これらは組み込みアプリケーションであり、対応するハードウェア（液晶表示装置、キー入力部、スキャナ、印刷エンジン等）と協働して複合機の標準的な動作を実現する。画像入力部１３は例えば入力画像に対する種々の画像処理を実行する。画像出力部１４は例えば印刷エンジンの制御等を実行する。
【００２７】
外部アプリケーションブロック１０２は、ベンダから供給された外部アプリケーション、またはオープンソースソフトウェア（以下ＳＳＯとも呼ぶ）から入手した外部アプリケーション、例えばメール用外部アプリケーション２１、ＦＴＰ用外部アプリケーション２２、ＯＣＲ用外部アプリケーション２３等を有している。また外部アプリケーションブロック１０２は、さらに、ＣＯＲＢＡサーバ２４、リスナ登録部２５等を有している。ＣＯＲＢＡサーバ２４は、サーバント２０を登録してＣＯＲＢＡアーキテクチャに準拠した呼出しを受け取ってサービスを提供するものである。サーバント２０は外部アプリケーションに対応した動作を提供するＣＯＲＢＡオブジェクトから生成される。例えばメール用外部アプリケーション２１に対応するＣＯＲＢＡオブジェクトはサービス要求に含まれる宛先およびメール本体を受け取ってメール用外部アプリケーション２１に転送するように動作する。
【００２８】
リスナ登録部２５は、ＭＦＰブロック１０１からのサービス要求を受け取るリスナを登録するものであり、これについては図４等を参照して後述する。
【００２９】
プロキシ１０４はＭＦＰブロック１０１からのサービス要求を受け取ってリスナとして登録されているサーバント２０に対応するＣＯＲＢＡ準拠の呼出しを供給するＣＯＲＢＡオブジェクトである。
【００３０】
ここではスキャンした画像をメールで転送するいわゆる「Ｓｃａｎ  ｔｏ  Ｅｍａｉｌ」を例に挙げる。なお、この例では、サーバとリスナの通信には汎用技術であるＣＯＲＢＡを使用したが、他の分散プログラミングで使用される技術でも同様である。
【００３１】
ユーザが、「Ｓｃａｎ  ｔｏ  Ｅｍａｉｌ」を指示し、宛先アドレスを入力すると、スキャン部１１が原稿をスキャンして、スキャン画像、宛先アドレス、その他を引数として電子メール送信要求を呼び出す（ｘ１）。送信要求はプロキシ１０４が代理受信し、これをリスナ登録されたサーバント２０に送る（ｘ２）。サーバント２０は、対応する引数とともにメール送信をメール用外部アプリケーション２１に供給し（ｘ３）、メール用外部アプリケーション２１は対応するメールをＳＭＴＰサーバ（図示しない）に送信する（ｘ４）。
【００３２】
図２は、プロキシ１０４およびサーバント２０のＣＯＲＢＡアーキテクチャにおける関係を示している。この図では、サーバント２０を２つしか示さないが、それ以上であっても良いし、それ以下であっても良い。
【００３３】
プロキシ１０４は、スキャン部１１等のＭＦＰアプリケーションからサービス要求（呼出し）を受け取ってリスナ登録用テーブル１０４ａに登録されているサーバント２０にＣＯＲＢＡ準拠のサービス要求をＯＲＢ（オブジェクトリクエストブローカ）２４ａを介して送信する。サーバント２０は、対応するＣＯＲＢＡオブジェクトから生成されてＰＯＡ（ポータブルオブジェクトアダプタ）等により登録管理されている。サーバント２０はサービス要求を、メール用外部アプリケーション２１等の外部アプリケーションにそのアプリケーション準拠のサービス要求に変換して供給する。リスナ登録部２５はリスナ登録用テーブル１０４ａに例えばサーバントのオブジェクトリファレンスを登録してリスナの登録を行う。ＯＲＢ２４ａを介して呼出しは基本的にはプロキシ１０４側からサーバント２０側へのみ供給され（図１の矢印ｘ５はブロックされる）、コンフリクト等を回避できる。
【００３４】
図３はこの実施例の動作を模式的に示すものである。図３において図１と対応する箇所には対応する符号を付した。
【００３５】
図３に示すように、リスナ登録用テーブル１０４ａには、ＯＣＲ、メール、ＦＴＰ、ＳＭＢの各リスナのスロットがあり、ここに対応するサーバント２０のオブジェクトリファレンスを登録することにより、サーバント２０がＯＲＢを介して呼出し要求を受け取ることができる。スキャン部１１からのメール送信要求はサーバント２０ａに受け取られそのオブジェクトインタフェース２０１ａを介してメール用外部アプリケーション２１に供給される。スキャン部１１からのＦＴＰ転送要求はサーバント２０ｂに受け取られそのオブジェクトインタフェース２０１ｂを介してＦＴＰ用外部アプリケーション２２に供給される。
【００３６】
図４は、リスナ登録の動作を示している。この図において、予め、ＭＦＰブロック１０１はリスナを登録するためのテーブルを作成しておく（ステップＳ１０）。なお、プロキシ１０４は、外部アプリケーションブロック１０２からの要求時に、そのインタフェースのみを公開するよう、制限を組みこんでおく。ここでは、単純に外部アプリケーションテーブルを準備し、それぞれにアクセス制限を設定したものを用意すればよいが、これに限定されない。
【００３７】
つぎに、外部アプリケーションブロック１０２はＣＯＲＢＡサーバ２４を立ち上げ、実際の送信プログラム（ＣＯＲＢＡオブジェクト）を実装し、サーバントとしてＣＯＲＢＡサーバ２４に登録する（Ｓ１１）。実装の内容は外部アプリケーションに依存し、典型的には、引数として渡された画像や送信元アドレス等をＯＳＳ（オープンソースソフトウェア）であるｓｅｎｄｍａｉｌ（商標）プログラム等に渡し、外部へ送信させるプログラムである。
【００３８】
次に、外部アプリケーションブロック１０２のリスナ登録部２５はプロキシ１０４に対しリスナを登録するためのリスナ登録用テーブル１０４ａのインタフェース公開を要求する。プロキシ１０４は、予め設定したセキュリティ制御を元に、公開可能なテーブルのインタフェースを通知する。リスナ登録部２５は、「サーバに登録したサーバントのアドレス」例えばオブジェクトリファレンスをＭＦＰが公開したテーブル１０４ａ内に登録する（Ｓ１２）。これがリスナとなる。ここまでが初期設定である。
【００３９】
実際の適用時には、ＭＦＰで操作者が転送先等のパラメータを設定した後、例えば、スタートボタンを押す。スキャン部１１は、スキャン後にスキャンした画像と、操作者が設定したパラメータを、リスナ登録されたアドレス内の指定関数を呼出し、引数として渡す。呼び出されたサーバント２０は、実装に沿って、実際に外部へ送信を実行する。
【００４０】
なお、以上の動作を「Ｓｃａｎ  ｔｏ  Ｅｍａｉｌ」を例に挙げたが、この実施例のシステムで可能な外部アプリケーションとしては、他に以下のものがある。
【００４１】
（１）「Ｓｃａｎ  ｔｏ  ＦＴＰ」：ＦＴＰプロトコルを使用した転送。
（２）「Ｓｃａｎ  ｔｏ  ＳＭＢ］：ＰＣ（とくにＷｉｎｄｏｗｓ（商標））のプロトコルを使用したＰＣ共有フォルダ等への転送。
（３）「Ｓｃａｎ  ｔｏ  ＯＣＲ」スキャンした画像からＯＣＲプログラムを使いテキストを抽出する。
（４）セキュリティ技術例えばＴｒｕｓｔｍａｒｋｉｎｇ（富士ゼロックス株式会社の商標）やＭＩＧ（Ｍｉｃｒｏ  Ｇｒａｄａｔｉｏｎ）のような、用紙へ情報を埋めこみセキュリティを確保するプログラム。
（５）その他、スキャンした画像に何らかの処理を施すアプリケーション。
【００４２】
なお、この発明は特許請求の範囲の記載に基づいて決定されるものであり、実施例の具体的な構成、課題、および効果には限定されない。この発明は上述の実施例に限定されるものではなくその趣旨を逸脱しない範囲で種々変更が可能である。例えば、上述の例ではＣＯＲＢＡアーキテクチャの分散オブジェクト技術を用いたが、ＣＯＭ＋（商標）等の他の分散オブジェクト技術を用いても良い。また、ＣＯＲＢＡのイベントサービスを用いてイベントチャネルのサプライヤおよびコンシューマオブジェクトを用いてもよい。
【図面の簡単な説明】
【００４３】
【図１】この発明の実施例の構成を示す図である。
【図２】上述実施例のＣＯＲＢＡオブジェクトの関係を示す図である。
【図３】上述実施例の動作を模式的に説明する図である。
【図４】上述実施例のリスナ登録を説明するフローチャートである。
【符号の説明】
【００４４】
１０       ＵＩ部
１１       スキャン部
１２       プリント部
１３       画像入力部
１４       画像出力部
２０       サーバント
２１       メール用外部アプリケーション
２２       ＦＴＰ用外部アプリケーション
２３       ＯＣＲ用外部アプリケーション
２４       ＣＯＲＢＡサーバ
２５       リスナ登録部
１００    複合機
１０１    ＭＦＰブロック
１０２    外部アプリケーションブロック
１０３    オペレーティングシステム
１０４    プロキシ
１０４ａ               リスナ登録用テーブル
【図１】
0004983432.tif 000002
【図２】
0004983432.tif 000003
【図４】
0004983432.tif 000004
【図３】
0004983432.tif 000005